亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sort.h

?? 各種常用的排序算法的演示程序
?? H
字號:
#ifndef SORT_CLASS
#define SORT_CLASS

#include "SeqList.h"

#include <stdlib.h>

template <class T>
class Sort
{
public:
	Sort(){}
	~Sort(){}
	void InsertionSort(SeqList<T> & list);
	void Insert(SeqList<T> & list,int i);
	void BinaryInsertSort(SeqList<T> &list);
	void BinaryInsert(SeqList<T> & list,int i);
	void ShellSort(SeqList<T> & list);
	void ShellInsert(SeqList<T> & list,const int gap);
	void BubbleSort(SeqList<T> & list);
	void BubbleExchange(SeqList<T> & list,const int i,int & exchange);
	void QuickSort(SeqList<T> & list,const int left,const int right);
	int Partition(SeqList<T> & list,const int low,const int high);
	void SelectSort(SeqList<T> & list);
	void SelectExchange(SeqList<T> & list,const int i);
	void HeapSort(SeqList<T> & list);
	void FilterDown(SeqList<T> & list,const int i,const int EndOfHeap);
};

template <class T>
void Sort<T>::InsertionSort(SeqList<T> & list)
{
	for(int i=1;i<=list.currPos;i++)
		Insert(list,i);
}

template <class T>
void Sort<T>::Insert(SeqList<T> & list,int i)
{
	T temp=list.dataList[i];
	int j=i;
	while(j>0&&temp<list.dataList[j-1])
	{
		list.dataList[j]=list.dataList[j-1];
		j--;
	}
	list.dataList[j]=temp;
}

template <class T>
void Sort<T>::BinaryInsertSort(SeqList<T> & list)
{
	for(int i=1;i<=list.currPos;i++)
		BinaryInsert(list,i);
}

template <class T>
void Sort<T>::BinaryInsert(SeqList<T> & list,int i)
{
	int left=0,right=i-1;
	T temp=list.dataList[i];
	while(left<=right)
	{
		int middle=(left+right)/2;
		if(temp<list.dataList[middle])
			right=middle-1;
		else
			left=middle+1;
	}
	for(int k=i-1;k>=left;k--)
		list.dataList[k+1]=list.dataList[k];
	list.dataList[left]=temp;
}

template <class T>
void Sort<T>::ShellSort(SeqList<T> & list)
{
	int gap=(list.currPos+1)/2;
	while(gap)
	{
		ShellInsert(list,gap);
		gap=gap==2?1:(int)(gap/2);
	}
}

template <class T>
void Sort<T>::ShellInsert(SeqList<T> &list,const int gap)
{
	for(int i=gap;i<=list.currPos;i++)
	{
		T temp=list.dataList[i];
		int j=i;
		while(j>=gap&&temp<list.dataList[j-gap])
		{
			list.dataList[j]=list.dataList[j-gap];
			j-=gap;
		}
		list.dataList[j]=temp;
	}
}

template <class T>
void Sort<T>::BubbleSort(SeqList<T> & list)
{
	int pass=1;
	int exchange=1;
	while(pass<=list.currPos&&exchange)
	{
		BubbleExchange(list,pass,exchange);
		pass++;
	}
}

template <class T>
void Sort<T>::BubbleExchange(SeqList<T> & list,const int i,int & exchange)
{
	exchange=0;
	for(int j=list.currPos;j>=i;j--)
		if(list.dataList[j-1]>list.dataList[j])
		{
			T temp=list.dataList[j];
			list.dataList[j]=list.dataList[j-1];
			list.dataList[j-1]=temp;
			exchange=1;
		}
}

template <class T>
void Sort<T>::QuickSort(SeqList<T> & list,const int left,const int right)
{
	if(left<right)
	{
		int pivotpos=Partition(list,left,right);
		QuickSort(list,left,pivotpos-1);
		QuickSort(list,pivotpos+1,right);
	}
}

template <class T>
int Sort<T>::Partition(SeqList<T> & list,const int low,const int high)
{
	int pivotpos=low;
	T pivot=list.dataList[low];
	for(int i=low+1;i<=high;i++)
	{
		if(list.dataList[i]<pivot&&++pivotpos!=i)
		{
			T temp=list.dataList[i];
			list.dataList[i]=list.dataList[pivotpos];
			list.dataList[pivotpos]=temp;
		}
	}
	T temp=list.dataList[low];
	list.dataList[low]=list.dataList[pivotpos];
	list.dataList[pivotpos]=temp;
	return pivotpos;
}

template <class T>
void Sort<T>::SelectSort(SeqList<T> & list)
{
	for(int i=0;i<list.currPos;i++)
		SelectExchange(list,i);
}

template <class T>
void Sort<T>::SelectExchange(SeqList<T> & list,const int i)
{
	int k=i;
	for(int j=i+1;j<=list.currPos;j++)
	{
		if(list.dataList[j]<list.dataList[k])
			k=j;
		if(k!=i)
		{	
			T temp=list.dataList[i];
			list.dataList[i]=list.dataList[k];
			list.dataList[k]=temp;
		}
	}
}

template <class T>
void Sort<T>::HeapSort(SeqList<T> & list)
{
	for(int i=(list.currPos-1)/2;i>=0;i--)
		FilterDown(list,i,list.currPos);
	for(i=list.currPos;i>=1;i--)
	{
		T temp=list.dataList[i];
		list.dataList[i]=list.dataList[0];
		list.dataList[0]=temp;
		FilterDown(list,0,i-1);
	}
}

template <class T>
void Sort<T>::FilterDown(SeqList<T> & list,const int i,const int EndOfHeap)
{
	int current=i;
	int child=2*i+1;
	T temp=list.dataList[i];
	while(child<=EndOfHeap)
	{
		if(child<EndOfHeap&&list.dataList[child]<list.dataList[child+1])
			child++;
		if(temp>list.dataList[child]) break;
		else
		{
			list.dataList[current]=list.dataList[child];
			current=child;
			child=2*child+1;
		}
	}
	list.dataList[current]=temp;
}



#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合久久久网| 久久综合99re88久久爱| 日韩欧美高清在线| 亚洲人成人一区二区在线观看| 偷窥国产亚洲免费视频| 成人天堂资源www在线| 欧美绝品在线观看成人午夜影视| 欧美国产一区二区在线观看| 日韩在线一区二区三区| a美女胸又www黄视频久久| 日韩欧美一区二区久久婷婷| 亚洲影院久久精品| 丁香婷婷综合色啪| 精品国产一区二区三区不卡| 亚洲精品少妇30p| 成人综合激情网| 欧美成人福利视频| 亚洲成在人线免费| 色综合天天综合狠狠| 欧美激情一区二区三区四区| 精品综合久久久久久8888| 欧美日韩久久一区| 日韩毛片高清在线播放| 成人黄色大片在线观看| 国产亚洲精品福利| 国产一区日韩二区欧美三区| 日韩一本二本av| 日韩av一级片| 欧美精品久久天天躁| 亚洲妇女屁股眼交7| 91高清在线观看| 一区二区三区成人| 色激情天天射综合网| 中文字幕在线不卡一区二区三区| 国产福利一区二区三区视频在线| 日韩欧美一二区| 久久精品国产一区二区三区免费看| 欧美日本一区二区| 婷婷一区二区三区| 日韩欧美一卡二卡| 久久99九九99精品| 久久综合九色综合97婷婷女人| 久久精品国产色蜜蜜麻豆| 日韩精品一区二区在线| 九色综合狠狠综合久久| 久久午夜电影网| 国产91精品一区二区麻豆网站| 久久精品在线观看| 成人性生交大合| 亚洲欧美日本在线| 欧美精品久久久久久久久老牛影院| 日韩黄色免费网站| 久久久久久麻豆| av电影在线观看一区| 亚洲一区二区偷拍精品| 欧美一区二区三区男人的天堂| 美洲天堂一区二卡三卡四卡视频 | 亚洲成人先锋电影| 日韩一区二区三区在线视频| 国产精品白丝jk黑袜喷水| 国产精品精品国产色婷婷| 欧美午夜一区二区三区免费大片| 日韩极品在线观看| 国产精品久久久久婷婷二区次| 色天使色偷偷av一区二区| 亚洲国产一区视频| eeuss鲁片一区二区三区在线观看| 一区二区日韩av| 777久久久精品| 国产综合色在线| 中文字幕欧美一| 欧美综合在线视频| 天天免费综合色| 日韩精品资源二区在线| 国产一级精品在线| 国产精品家庭影院| 欧美日韩情趣电影| 激情五月婷婷综合| 欧美国产视频在线| 欧美日韩综合色| 国产美女一区二区| 亚洲精品免费在线播放| 91麻豆精品久久久久蜜臀| 国产综合色产在线精品| 国产精品国产三级国产普通话99 | 日韩激情在线观看| 久久精品免视看| 91小视频免费观看| 日韩激情一二三区| 国产精品视频在线看| 欧美日韩国产欧美日美国产精品| 精品一区二区三区av| 一区二区三区在线视频播放| 日韩精品一区二区三区中文精品| www.66久久| 日韩和欧美的一区| 欧美一区二区黄| 欧美色图在线观看| 国产东北露脸精品视频| 亚洲国产日产av| 国产日韩欧美综合在线| 欧美日韩成人在线| 成人av午夜电影| 日本欧洲一区二区| 亚洲精品欧美专区| 久久综合狠狠综合久久激情 | 成人精品在线视频观看| 日韩成人精品在线观看| 亚洲国产成人午夜在线一区| 日韩一区二区在线观看视频| av亚洲产国偷v产偷v自拍| 精品一区免费av| 亚洲成人精品在线观看| 国产精品久久久久一区二区三区共| 欧美一区二区三区免费观看视频| 麻豆91在线播放免费| 亚洲欧洲精品成人久久奇米网| 精品噜噜噜噜久久久久久久久试看| 色偷偷久久人人79超碰人人澡| 国产一区二区三区电影在线观看| 一区二区高清在线| 国产精品乱人伦中文| 久久久久99精品国产片| 欧美mv日韩mv国产| 欧美一级生活片| 91精品国产综合久久香蕉的特点 | 一区二区三区欧美亚洲| 国产精品入口麻豆原神| 久久综合九色综合欧美亚洲| 精品久久人人做人人爽| 欧美一区二区久久| 成人蜜臀av电影| 国产91精品久久久久久久网曝门| 国精产品一区一区三区mba视频| 久久爱www久久做| 国内欧美视频一区二区| 蜜臀久久久久久久| 美脚の诱脚舐め脚责91| 日韩电影在线一区二区三区| 男男gaygay亚洲| 久久精品国产色蜜蜜麻豆| 久久99精品久久久| 国内成人自拍视频| 蜜臀av在线播放一区二区三区| 国产丶欧美丶日本不卡视频| 国产成人啪午夜精品网站男同| 极品少妇xxxx精品少妇偷拍 | 国产日韩亚洲欧美综合| 国产精品视频在线看| 亚洲欧美偷拍另类a∨色屁股| 日韩理论在线观看| 国产精品欧美极品| 亚洲二区在线观看| 久久精品噜噜噜成人av农村| 国产精品一级在线| 成人国产视频在线观看| 91精品1区2区| 2020国产精品自拍| 国产精品每日更新在线播放网址| 一区二区三区四区精品在线视频| 亚洲成人1区2区| 激情综合一区二区三区| 成人的网站免费观看| 欧洲国内综合视频| 精品欧美一区二区三区精品久久 | 色综合久久久久综合体桃花网| 91老师片黄在线观看| 日韩精品中文字幕在线不卡尤物| 国产女人水真多18毛片18精品视频| 亚洲天堂中文字幕| 日韩中文字幕区一区有砖一区 | 国产欧美日韩不卡免费| 亚洲激情自拍偷拍| 久久激五月天综合精品| 99精品视频一区| 6080日韩午夜伦伦午夜伦| 亚洲精品一区二区三区影院| 偷拍与自拍一区| 国产精品一区一区三区| 欧美日韩国产免费| 国产精品私房写真福利视频| 午夜国产精品一区| youjizz久久| 欧美刺激午夜性久久久久久久| 亚洲一二三区视频在线观看| 国产盗摄一区二区三区| 5858s免费视频成人| 国产精品久久毛片a| 卡一卡二国产精品| 精品污污网站免费看| 欧美激情在线免费观看| 亚洲成av人片在线观看| 色狠狠综合天天综合综合| 久久这里只有精品6| 亚洲va欧美va人人爽午夜| av在线不卡电影| 国产日韩精品一区二区三区在线| 日韩影视精彩在线| 欧洲日韩一区二区三区| 一区二区三区影院|