µ±Ç°Î»ÖãºÊ×Ò³ > Êý¾Ý½á¹¹ÊµÑ鱨¸æ¡ª¡ªÅÅÐò
long int *pRandom2; long double runtime[7][3]; int comparetimes[7];
int movetimes[7]; };
//Function.cpp #include\#include
/***********************************************************¹¹Ô캯Êý**********************************************************************/ Sort::Sort() {
memset(timestable,0,sizeof(int)*7*6); int timestable[7][6];
long double startTime,endTime;
}
/***********************************************************¹¹ÔìÊý×é**********************************************************************/ void Sort::CreateData(void) {
pRandom1=new long int[Max+1]; pRandom2=new long int[Max+1]; srand((unsigned)time(NULL));
for(int i = 1; i <= Max;i++ ) }
/********************************************************¼òµ¥²åÈëÅÅÐò*******************************************************************/ int Sort::InsertSort(long int parray[]) {
int j=0;
for(int i =2; i <= Max;i++) {
parray[0]=parray[i]; comparetimes[0]++;
for(j=i-1;parray[0] pRandom2[i]=rand(); //Èç¹û²»Êä³öÔʼÊý×飬Çë×¢Ê͵ô´ËÁ½ÐÐ cout<<\Ëæ»úÂÒÐòÊý×éÈçÏ£º\\n\PrintArray(pRandom2); } } { } parray[j+1]=parray[0]; movetimes[0]+=2; parray[j+1]=parray[j]; movetimes[0]++; return 0; /**********************************************************Ï£¶ûÅÅÐò***********************************************************************/ int Sort::ShellSort(long int parray[]) { int j=0; for(int d=Max/2;d>=1;d/=2) { for(int i=d+1;i<=Max;i++) { parray[0]=parray[i]; comparetimes[1]++; for(j=i-d;j>0 && parray[0] parray[j+d]=parray[j]; } } } } movetimes[1]++; parray[j+d]=parray[0]; movetimes[1]+=2; return 0; /**********************************************************ðÅÝÅÅÐò***********************************************************************/ int Sort::BubbleSort(long int parray[]) { int exchange=Max; int bound,j; while(exchange) { bound=exchange; exchange=0; for(j=1;j comparetimes[2]++; if(parray[j]>parray[j+1]) {
¹²·ÖÏí92ƪÏà¹ØÎĵµ