数据结构专业课程设计十种排序算法比较样本 下载本文

#include<> #include<> #define N 100 int p,q; int g=0;int h=0; //起泡排序

void gensort(int b[],int n) {

int i,j;int s=0,t=0; for(i=0;i

for(j=i+1;jb[j]) {

int temp=b[i]; b[i]=b[j]; b[j]=temp; s+=3; }}}

cout<<\移动次数=\较次数

比=\}

//插入排序

typedef int KeyType;

struct rec {

KeyType key; };

typedef rec sqlist[N];

void insertsort(sqlist b,int n) {

int i,j;int s=0,t=0; for(i=2;i

b[0].key=b[i].key; s++; j=i-1;

t++;

while(b[0].key

b[j+1]=b[j]; j--; s++; t++; }

b[j+1]=b[0]; s++; }

cout<<\移动次数=\比较次数=\}

//折半插入排序 void so(sqlist num,int n) { int s=0;

int low,high,m;//分别指向低、高、中的位置

int i,j,k=0,t;//i,j循环 k交换次数 t哨兵

for(i=1;i

t=num[i].key ;

low=0;high=i-1;

while(low<=high) {

m=(low+high)/2;

if(t