好文档 - 专业文书写作范文服务资料分享网站

北邮数据结构实验报告-排序

天下 分享 时间: 加入收藏 我要投稿 点赞

}

int Partion(int r[],int first,int end,int* compare,int* move)//快速排序中的轴定位 { int i=first; int j=end;

int zhou=r[i];//默认第一个元素为轴 while(i

if(i

(*compare)++; (*compare)++; i++;

while((i=zhou)) //查看右侧元素与轴的大小关系 { } if(i

(*compare)++; (*move)++; }

while((i

(*compare)++; j--;

r[i]=r[j];//发现轴右侧的某数比轴值小,将其前置

(*move)++;

r[j]=r[i];//发现轴左侧的某数比轴值小,将其后置

} }

r[i]=zhou;//最后确定轴的位置 return i; }

void Qsort(int r[],int i,int j,int* compare,int* move)//快速排序 { if(i

int centre=Partion(r,i,j,compare,move); Qsort(r,i,centre-1,compare,move); Qsort(r,centre+1,j,compare,move); }

}

void Selectsort(int r[],int n,int* compare,int* move)//选择排序 { {

int min=i;

for(int j=i+1;j

(*compare)++;

if(r[j]

(*move)+=3; int Min; Min=r[min]; r[min]=r[i]; r[i]=Min; } } }

void main() { int i;

int compare=0; int move=0;

cout<<\请您先输入一个正序数组哦\int n;

cout<<\请输入数组中含有的元素数量:\cin>>n; int *r=new int[n];

cout<<\请输入数组中的元素:\for(i=0;i>r[i]; int *a=new int[n]; for(i=0;i

*compare=0; *move=0;

for(int i=0;i

int *b=new int[n]; for(i=0;i

cout<<\再输入一个逆序数组~~~\cout<<\请输入数组中含有的元素数量:\cin>>n;

cout<<\请输入数组中的元素:\for(i=0;i>r[i]; for(i=0;i

cout<<\希尔排序结果为:\for(i=0;i

for(i=0;i

cout<<\最后输入一个乱序数组~~~\cout<<\请输入数组中含有的元素数量:\cin>>n;

cout<<\请输入数组中的元素:\for(i=0;i>r[i]; for(i=0;i

cout<<\交换排序结果为:\for(i=0;i

for(i=0;i

6qx8s8kzpj3qhtz4wh2h1h1yk7phau00sj7
领取福利

微信扫码领取福利

微信扫码分享