北航计算机软件基础实验报告计算机软件基础上机实验报告(一)XXXXXX班XXX100211891
实验目的掌握线性表在顺序分配下的插入与删除运算;掌握线性表的链式存储结构;掌握插入排序的方法;并掌握一种产生随机数的方法
实验内容1.产生1000个0至999间的随机整数,并以产生的次序存入一个数据文件中
2.编制一个程序,依次实现以下功能:(1)定义一个有序(非递减)线性表,其最大容量为1000,初始时为空
(2)从由1产生的数据文件中依次取前N个随机整数,陆续插入到此线性表中,并要求在每次插入后保持线性表的有序性
最后将此有序线性表打印输出
(3)在由(2)产生的线性表中,依在1中产生的次序逐个将元素删除,直至表空为止
3.以N=100及N=400分别运行2的程序,并比较它们的运行时间
4.编写一个程序,用插入排序依次将1中产生的1000个随机整数链接成有序链表(不改变原随机数在存储空间中的顺序)
源代码与运行结果#include#include#include/**1_1产生1000个0至999间的随机整数,并以产生的次序存入一个数据文件(1_1
**/main(){FILE*fo=fopen("1_1
txt","w");北航计算机软件基础实验报告inti,j;srand((unsigned)time(0));for(i=0;i=0))w--;w++;for(i=m;i>=w;i--)a[i+1]=a[i];a[w]=num;m++;}finish=clock();duration=(double)(finish-start)/CLOCKS_PER_SEC;printf("执行%d个数据插入操作完成
用时:%f秒,得到线性表如下:\n",m+1,duration);for(i=0;inext=temp;head=n;}else{while(((tem