实验主题:受输入影响的算法复杂性
(1)编程完成待排序数据的生成
任务1:编程实现随机数生成,将随机数保存到数组中。
//
#include <stdio.h>
#include<time.h>
#include<stdlib.h>
int main(){
int a[10];
srand((unsigned)time(0));
for(int i=1;i<=10;i++){
a[i]=(rand()%100+1);
printf("%d",a[i]);
}
}
(2)参照伪代码实现将元素从小到大排序的插入排序算法
任务2:对照插入排序算法的伪代码编程实现插入排序算法,输出数组检查排序编程结果的正确性。
for(int i=2;i<=10;i++){
int j,s=a[i];
for(j=i;j>1&&a[j-1]>s;j--){
a[j]=a[j-1];
}
a[j]=s;
}
printf("排序后:");
for(int i=1;i<=10;i++){
printf("%d ",a[i]);
}