数据结构实验报告——排序 联系客服

发布时间 : 星期一 文章数据结构实验报告——排序更新完毕开始阅读db2f68db8ad63186bceb19e8b8f67c1cfbd6ee58

long int *pRandom2; long double runtime[7][3]; int comparetimes[7];

int movetimes[7]; };

//Function.cpp #include\#include #include #include #include #include #include #include #include using namespace std;

/***********************************************************构造函数**********************************************************************/ 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]) {