incr=incr/2; }
printf(\最终排序结果:\ for(i=1;i
void bubble_sort(int data[],int size)/*冒泡排序*/ {int i,j,flag,k,temp,num=0; for(i=0;i
for(j=0;j
printf(\第%d趟排序:\ for(k=0;k
printf(\最终排序结果:\ for(i=0;i
temp=data[j]; data[j]=data[j+1]; data[j+1]=temp;
} }
break;
void select_sort(int data[],int size)/*选择排序*/ {int base,compare,min,temp,i,num=0;
for(base=0;base
for(compare=base+1;compare
if(data[compare]
num++; }
printf(\最终排序结果:\ for(i=0;i
void adjust(int i,int n)/*将数据调整为堆树*/ {int data[20],j,k,done=0;
printf(\第%d趟排序:\ for(i=0;i
k=data[i]; j=2*i;
while((j<=n)&&(done==0)) {if((j
{data[j/2]=data[j]; j=2*j; } }
data[j/2]=k; }
void main() {int data[20];
int size=0,m=0,i,j,num,k,temp,n=0;
printf(\请输入初始关键字(输入0结束):\\n\ do { }
while(data[size++]!=0);
printf(\你输入的初始关键字为:\for(j=0;j
scanf(\ m++;
printf(\、希尔排序\\n\printf(\、冒泡排序\\n\printf(\、选择排序\\n\printf(\、堆排序\\n\printf(\请选择排序方法:\\n\scanf(\switch(num) {case 1:
printf(\插入排序************\\n\ for(i=0;i<50;i++)printf(\ insertion_sort(data,--size);
for(i=0;i<50;i++)printf(\ break; case 2:
printf(\希尔排序************\\n\for(m=0;m<50;m++)printf(\
shell_sort(data,--size);
for(i=0;i<50;i++)printf(\
break; case 3:
printf(\冒泡排序************\\n\for(i=0;i<50;i++)printf(\
bubble_sort(data,--size);
for(i=0;i<50;i++)printf(\ break; case 4:
printf(\选择排序************\\n\for(i=0;i<50;i++)printf(\
select_sort(data,--size);
for(i=0;i<50;i++)printf(\
相关推荐: