计算机软件基础 上机实验报告(一) XXXXXX 班 XXX 实验目的 掌握线性表在顺序分配下的插入与删除运算;掌握线性表的链式存储结构;掌握插入排序的方法;并掌握一种产生随机数的方法
实验内容 1. 产生 1 个 至 999 间的随机整数,并以产生的次序存入一个数据文件中
2. 编制一个程序,依次实现以下功能 (1) 定义一个有序(非递减)线性表,其最大容量为 1,初始时为空
(2) 从由 1 产生的数据文件中依次取前 N 个随机整数,陆续插入到此线性表中,并要求在每次插入后保持线性表的有序性
最后将此有序线性表打印输出
(3) 在由(2)产生的线性表中,依在 1 中产生的次序逐个将元素删除,直至表空为止
3. 以 N=1 及 N=4 分别运行 2 的程序,并比较它们的运行时间
4. 编写一个程序,用插入排序依次将 1 中产生的 1 个随机整数链接成有序链表(不改变原随机数在存储空间中的顺序)
源代码与运行结果 #include #include #include main() { FILE *fo=fopen("1_txt","w"); int i,j; srand((unsigned)time()); for (i=;i=)) 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=;i