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

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

?? 實驗1.cpp

?? 排序算法平均時間的比較
?? CPP
字號:
#include<iostream.h>   
#include<windows.h>
#include<stdlib.h>
#include<stdio.h>   
#include<time.h>



//選擇排序
class selectionsort
{
	int *array;
	int n;
	int compare;
public:
   selectionsort()
   {
       array=NULL;
	   n=0;
	   compare=0;
   }

void selecsort(int *sarray,int n)     //sarray為存儲數據的數組,n為數組元素個數
{
	int k,temp;        //k用來存儲,臨時最小數據的位置
	for(int i=0;i<n-1;i++)     
	{
		k=i;        
		for(int j=i+1;j<n;j++)    //從第i個數開始選擇最小數位置,存于k中
		{
			compare++;
			if(sarray[j]<sarray[k])
				k=j;
		}
		if(k!=i)       //若最小數,不為sarray[i],則sarray[i]與sarray[k]進行交換
		{
			temp=sarray[i];
			sarray[i]=sarray[k];
			sarray[k]=temp;
		}
	}
}


void Insert(int* sarray,int lenght)
   {
        n=lenght;
    	array=new int[n];
	   for(int i=0;i<n;i++)
	   {
		array[i]=sarray[i];
	   }
   }



   void print()
   {

         //cout<<compare<<endl;
         DWORD   dwStart   =   clock();
         selecsort(array,n);
		 DWORD   dwEnd   =   clock(); 
		 DWORD   dwTimeTaken   =   dwEnd   -   dwStart;
		// cout<<"所用時間為:"<<dwTimeTaken<<endl;
	for(int i=0;i<n;i++)
	{
		cout<<array[i]<<'\t';
		if(i%8==7)   cout<<endl;
	}
	cout<<endl; 
	  cout<<"所用時間為:"<<dwTimeTaken<<endl;
  cout<<endl; 
   }
};




//插入排序法
class insertsort{

	int* iarray;
	int ilenght;
	int compare;
public:
	insertsort()
	{
		iarray=NULL;
		ilenght=0;
		compare=0;
	}
	void insertion(int* array, int lenght)
	{
		compare++;
		for(int i=1;i<lenght;i++)
		{
			int x=array[i];
			int j=i-1;
			while(j>=0&&array[j]>x)
			{
				compare++;
				array[j+1]=array[j];
				j=j-1;
			}
			array[j+1]=x;
		}
	}

	void Insert(int* array,int lenght)
	{   
		ilenght=lenght;
    	iarray=new int[ilenght];
	   for(int i=0;i<ilenght;i++)
	   {
		iarray[i]=array[i];
	   }
	}

	void print()
	{
		 //cout<<compare;
		 DWORD   dwStart   =   clock();
         insertion(iarray,ilenght);
		 DWORD   dwEnd   =   clock(); 
		 DWORD   dwTimeTaken   =   dwEnd   -   dwStart;
		 //cout<<"所用時間為:"<<dwTimeTaken<<endl;
	for(int i=0;i<ilenght;i++)
	{
		cout<<iarray[i]<<'\t';
		if(i%8==7)   cout<<endl;
	}
	cout<<endl; 
	  cout<<"所用時間為:"<<dwTimeTaken<<endl;
  cout<<endl; 
   
	}
};



//自底向上排序法
  class   bottomupsort{   
  int   maxsize;   
  int   last;   
  int   slist[10000]; 
  int compare;
  public:   
  bottomupsort()
  {
	  last=0;maxsize=10000;
	  compare=0;
  }   

  int   Length()  const
  {
	  return   last+1;
  }//計算表長度   

  void   Mergesort()
  {
	  int   len=1;   
  int   b[10000];   
  while(len<last){  
	  compare++;
      MergePass(b,len);   
      len=2*len;     
      for(int   i=0;i<last;i++)   slist[i]=b[i];     
  }   
  }

  void   MergePass(int   *b,int   len)
  {
	  int   i,j;   
  i=0;   
  while(i+2*len<last){
	  compare++;
      Merge(b,i,i+len-1,i+2*len-1);     
      i=   i+2*len;             
  }   
  if(i+len<last)   Merge(b,i,i+len-1,last-1);     
  else   for(j=i;j<last;j++)     b[j]=slist[j];
  }

  void   Merge(int*b,int   low,int   mid,int   high)
  {
	  int   i,j,k;   
  i=low;   
  j=mid+1;   
  k=low;   
  while((i<=mid)&&(j<=high)){   
      if(slist[i]<=slist[j])  
	  {
		  b[k++]=slist[i++];
		  compare++;
	  }   
      else
	  {
		  b[k++]=slist[j++];
		  compare++;
	  }
  }   
  while(i<=mid)   b[k++]=slist[i++];  
  while(j<=high)   b[k++]=slist[j++];
  }

  bool   Insert(int   &   elem,int   i)
  {
	  if   (i<0||i>last+1||last==maxsize-1)   return   false;   
  else{   
      for   (int   j=last;j>i;j--)   slist[j]=slist[j-1];   
      slist[i]=elem;   
      last++;   
      return   true;   
  }   
  }

  void   print()
  {
	  
        // cout<<compare;
		 DWORD   dwStart   =   clock();
         Mergesort();
		 DWORD   dwEnd   =   clock();
		 DWORD   dwTimeTaken   =   dwEnd   -   dwStart;
		 //cout<<"所用時間為:"<<dwTimeTaken<<endl;
	  int   i;   
      for(i=0;i<last;i++){   
      cout<<slist[i]<<'\t';   
      if(i%8==7)   cout<<endl;   
  }   
	  cout<<endl; 
	  cout<<"所用時間為:"<<dwTimeTaken<<endl;
  cout<<endl; 
  }
  };   


//快速排序法
  class quicklist{

	  int* qarray;
	  int qlenght;
	  int compare;
  public:

   quicklist()
   {
	   qarray=NULL;
	   qlenght=0;
	   compare=0;
   }

  void QuickSort(int *pData, int left, int right)
{
     int i, j;
	 int middle,iTemp;
	 i=left;
	 j=right;

	 middle=pData[(left+right)/2];
	 do
	 {
		 while((pData[i]<middle)&&(i<right)) 
		 {
			 compare+=2;
			 i++;
		 }
		 while((pData[j]>middle)&&(j>left))
		 {
			 compare+=2;
			 j--;
		 }
		 if(i<=j)
		 {
			 iTemp=pData[i];
			 pData[i]=pData[j];
			 pData[j]=iTemp;
			 i++;
			 j--;
		 }
	 }while(i<=j);

	 if(left<j) QuickSort(pData,left,j);
	 if(right>i) QuickSort(pData,i,right);
}

void Insert(int * array,int lenght)
{
	qlenght=lenght;
	qarray=new int[qlenght];
	for(int i=0;i<qlenght;i++)
	{
		qarray[i]=array[i];
	}
}

void print()
{	
	     //cout<<compare;
	     DWORD   dwStart   =   clock();
         QuickSort(qarray,0,qlenght-1);
		 DWORD   dwEnd   =   clock(); 
		 DWORD   dwTimeTaken   =   dwEnd   -   dwStart;
		 //cout<<"所用時間為:"<<dwTimeTaken<<endl;
	for(int i=0;i<qlenght;i++)
	{
		cout<<qarray[i]<<'\t';
		if(i%8==7)   cout<<endl;
	}

	cout<<endl; 
	cout<<"所用時間為:"<<dwTimeTaken<<endl;
	cout<<endl; 
}
};



  void   main(){   
	  int lenght=0;
	  int array[1000];
	  int t=0;

	  cout<<"排序算法平均時間的比較"<<endl;
	  int select;
	  cout<<"請選擇輸入數據類型:1為用隨機產生數據,2為手動輸入數據"<<endl;
	  cin>>select;
	  switch(select)
	  {
	  case 1:
		  lenght=10000;
		  array[10000];
		  srand(time(NULL));
		  for(t=0;t<lenght;t++)
		  {
	          array[t]=rand();
		  }
		  break;
	  case 2:
		  cout<<"請輸入數據量"<<endl;
		  cin>>lenght;
		  cout<<"請輸入要比較的"<<lenght<<"個數:"<<endl;
		  for(t=0;t<lenght;t++)
		  {
			  cin>>array[t];
		  }
		  break;
	  default:
		  lenght=10000;
		  array[10000];
		  srand(time(NULL));
		  for(t=0;t<lenght;t++)
		  {
	          array[t]=rand();
		  }
		  break;
	  }


      selectionsort s;
	  insertsort in;
      bottomupsort   bottomup;
	  quicklist ql;
	  int i=0;
	  bool contimue=true;
	  while(contimue)
	  {
		  cout<<"請選擇排序算法:1.選擇排序法,2.插入排序法,3.自底向上排序法,4.快速排序法"<<endl;
		  cout<<"輸入其它數字則自動結束程序"<<endl;
		  int chioce=0;
		  cin>>chioce;
		  switch(chioce)
		  {
		  case 1:
			  
			  s.Insert(array,lenght);
			  s.print();
			  break;
		  case 2:
              
              in.Insert(array,lenght);
              in.print();
			  break;
		  case 3:  
              for(i=0;i<lenght;i++) bottomup.Insert(array[i],i);
			  bottomup.print();   
			  break;
		  case 4:
			  ql.Insert(array,lenght);
			  ql.print();
			  break;
		  default:
			  contimue=false;
			  break;
		  }
	  }
  }   

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲性图库| 欧美综合色免费| 国产日韩精品一区二区三区| 国产一区二区三区精品视频| 日韩免费观看高清完整版 | 在线视频国产一区| 亚洲欧美日韩国产成人精品影院 | 亚洲国产乱码最新视频 | 欧美一区二区三区视频在线| 麻豆国产欧美一区二区三区| 日韩欧美国产一区二区在线播放| 免费观看成人av| 久久五月婷婷丁香社区| 国产成人免费视频网站高清观看视频| 国产精品日产欧美久久久久| 色先锋资源久久综合| 日韩国产成人精品| 久久久精品影视| 97se亚洲国产综合自在线| 亚洲第一av色| 久久久久一区二区三区四区| 色哟哟一区二区在线观看 | 精品亚洲国产成人av制服丝袜| 2021中文字幕一区亚洲| 91在线精品一区二区三区| 亚洲成人黄色小说| 久久久久国产精品麻豆| 99re成人在线| 久久se精品一区精品二区| |精品福利一区二区三区| 欧美精选午夜久久久乱码6080| 国产一区二区不卡在线| 一区二区三区日韩欧美| 精品捆绑美女sm三区| 色综合一个色综合亚洲| 日本一不卡视频| 国产精品久久国产精麻豆99网站| 欧美日韩日本视频| www.色精品| 麻豆91精品91久久久的内涵| 综合久久国产九一剧情麻豆| 欧美www视频| 欧洲国内综合视频| 成人av免费在线| 免费成人av在线播放| 一区二区三区小说| 国产情人综合久久777777| 日韩一二三区视频| 在线视频一区二区三| 高清成人免费视频| 免费成人在线播放| 午夜在线电影亚洲一区| 国产精品美女视频| 久久奇米777| 日韩视频永久免费| 欧美天堂一区二区三区| 99视频一区二区| 高清不卡一二三区| 黄色小说综合网站| 日av在线不卡| 午夜精品久久久久久| 亚洲欧美日韩系列| 中文字幕一区免费在线观看| 26uuuu精品一区二区| 日韩视频国产视频| 欧美精品一二三| 欧美日韩综合色| 日本大香伊一区二区三区| 91亚洲国产成人精品一区二三| 国产一区二区三区四区五区入口| 免费精品视频在线| 日本视频免费一区| 婷婷夜色潮精品综合在线| 有坂深雪av一区二区精品| 中文字幕一区二区三区精华液| 久久久国际精品| 欧美激情资源网| 中文字幕av一区二区三区| 久久精品人人做人人爽97| 久久一区二区视频| 久久久久99精品国产片| 久久精品一级爱片| 中文字幕成人av| 自拍偷在线精品自拍偷无码专区| 国产精品久久久久影院老司| 国产精品久久影院| 中文字幕综合网| 亚洲一区二区三区四区在线免费观看| 亚洲精品免费一二三区| 亚洲国产精品一区二区尤物区| 亚洲一本大道在线| 蜜臀精品一区二区三区在线观看| 免费观看在线色综合| 国产精品一区二区三区四区| 国产白丝精品91爽爽久久| 91女厕偷拍女厕偷拍高清| 色哟哟精品一区| 91精品国产日韩91久久久久久| 日韩免费观看高清完整版 | 95精品视频在线| 欧美影院一区二区三区| 日韩一区二区三区在线观看| 久久久久久久久99精品| 国产精品高清亚洲| 亚洲444eee在线观看| 蜜桃av一区二区| av高清久久久| 欧美视频一区在线| 精品福利av导航| 中文字幕一区二区三区视频| 五月天丁香久久| 国产一区二区免费视频| 99r国产精品| 日韩三级av在线播放| 国产精品你懂的| 三级欧美在线一区| 成人黄色777网| 91精品国产综合久久小美女| 久久亚洲精精品中文字幕早川悠里| 国产精品女同一区二区三区| 午夜视频久久久久久| 成人app在线观看| 欧美顶级少妇做爰| 亚洲日本欧美天堂| 美女视频黄免费的久久| 91网址在线看| 欧美大片在线观看| 夜夜亚洲天天久久| 国产精品一区二区果冻传媒| 欧美午夜在线一二页| 久久精品视频在线看| 青青草国产精品97视觉盛宴| 99re热这里只有精品视频| 精品国产伦理网| 午夜伊人狠狠久久| av在线不卡观看免费观看| 精品久久久久一区二区国产| 亚洲一区二区综合| 懂色av中文一区二区三区| 欧美成人一区二区三区片免费| 亚洲一区国产视频| 91在线小视频| 欧美激情一区三区| 国产自产2019最新不卡| 91麻豆精品国产| 一区二区三区精密机械公司| 成人福利电影精品一区二区在线观看| 日韩一本二本av| 日韩精品一级二级| 欧美性生活大片视频| 综合激情成人伊人| 成人黄色综合网站| 久久久精品tv| 国产乱理伦片在线观看夜一区| 91麻豆精品国产91久久久使用方法| 亚洲精品国产无套在线观| 不卡视频一二三| 国产精品色一区二区三区| 国产精品一区二区你懂的| 精品国产123| 精品一区二区三区香蕉蜜桃| 91精品欧美久久久久久动漫| 亚洲国产aⅴ成人精品无吗| 在线免费观看日本一区| 亚洲欧美偷拍三级| 91亚洲精华国产精华精华液| 亚洲人成精品久久久久久| 成人视屏免费看| 国产精品久久夜| 91美女在线看| 亚洲综合激情网| 在线视频欧美精品| 亚洲成人激情社区| 91精品国模一区二区三区| 美女被吸乳得到大胸91| 91精品国产综合久久精品麻豆| 水野朝阳av一区二区三区| 日韩午夜在线观看| 国产在线观看一区二区| 精品成人在线观看| 懂色av一区二区在线播放| 亚洲日穴在线视频| 欧美影视一区在线| 美日韩黄色大片| 久久人人爽人人爽| 色综合天天性综合| 亚洲a一区二区| 精品国产乱码久久久久久夜甘婷婷| 国产一区 二区| 国产精品久久久久影院老司| 91黄视频在线| 免费在线一区观看| 国产精品污网站| 色婷婷国产精品久久包臀| 首页国产欧美日韩丝袜| 久久久久国色av免费看影院| 99热国产精品| 五月天视频一区| 国产亚洲欧美色| 日本国产一区二区|