C语言 谢谢。 排序问题:随机产生1—M之间的N个整数,分别采用插入排序、选择排序、冒泡排序和堆

C语言 谢谢。
排序问题:随机产生1—M之间的N个整数,分别采用插入排序、选择排序、冒泡排序和堆排序算法进行排序,并对它们的效率进行比较。
A、随机产生待排序的1—M之间的N个整数,M可以取100、1000、10000;N的大小可以取20、100、1000、1500等。
B、算法中需要对比较次数进行统计。
C、对随机序列、正序和逆序的待排序表进行各种排序算法的测试和分析。

#include "stdio.h"
void main()
{
int a[9]={1,3,5,7,9,10,12,14};
int b,i,j;
scanf("%d",&b);

for(i=0;i<8;i++){
if(a[i]>=b){ /*找到插入位置*/
for(j=8;j>i;j--) /*后面元素均后移一位*/
a[j] = a[j-1];
a[i] = b; /*插入*/
break;
}
}
if(i==8) /*若该数大于所有数*/
a[8] = b;

for(i=0;i<9;i++)
printf("%d ", a[i]);
printf("\n");

}
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答