欢迎来到天天文库
浏览记录
ID:36298704
大小:1.04 MB
页数:10页
时间:2019-05-08
《北航计软实验报告实验一》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验报告实验名称线性表的插入语删除班级学号姓名成绩实验概述:【实验目的及要求】掌握线性表在顺序分配下的插入与删除运算;掌握线性表的链式存储结构;掌握插入排序的方法;并掌握一种产生随机数的方法。【实验原理】(1)随机整数的产生设m=216,初值y0=0,则递推公式yi=mod(2053yi-1+13849,m)产生0至65535之间的随机整数。如要产生0至999之间的随机整数,只需做运算xi=INT(1000yi/m)。(2)线性表的插入与删除1.插入输入:数组L(1:m),有序线性表L(1:n),需插
2、入的新元素b。其中n3、为1000,初始时为空。(2)从由1产生的数据文件中依次取前N个随机整数,陆续插入到此线性表中,并要求在每次插入后保持线性表的有序性。最后将此有序线性表打印输出。(3)在由(2)产生的线性表中,依在1中产生的次序逐个将元素删除,直至表空为止。3.以N=100及N=400分别运行2的程序,并比较它们的运行时间。4.编写一个程序,用插入排序依次将1中产生的1000个随机整数链接成有序链表(不改变原随机数在存储空间中的顺序)。【实验过程】(实验步骤、记录、数据、分析)(一)实验步骤1.事先编制好实验内容中14、、2、4的程序(可参考本实验中的方法说明),并调试通过。2.运行1的程序,生成1000个0至999之间的随机整数的数据文件,并打印输出此数据文件。3.以N=100运行2的程序,并记下运行时间。4.以N=400运行2的程序,并记下运行时间。5.运行4的程序。6.整理程序清单和运行结果,写出实验报告。(二)程序清单【实验一】#include#include#includevoidmain(){longintm,a=0;intb;FILE*fp;intc5、[1000];fp=fopen("E:\file.txt","w");m=pow(2,16);for(b=0;b<1000;b++){a=(2053*a+13849)%m;c[b]=(1000*a)/m;fprintf(fp,"%5d",c[b]);}for(b=0;b<1000;b++){printf("%5d",c[b]);if((b+1)%10==0)printf("");}fclose(fp);}【实验二】#include#includevoidma6、in(){inta[1000]={0};intb[1000]={0};inti,j,n,m;FILE*fp;fp=fopen("E:\file.txt","r");rewind(fp);printf("Pleaseinputtheamountyouwanttoreadfromthefile:");scanf("%d",&n);for(i=0;ia[i-1]){m7、=a[i];a[i]=a[i-1];a[i-1]=m;}}printf("Thefinaldatais:");for(i=0;i#inclu8、de#includevoidmain(){clock_tstart,finish;doubleduration;inta[1000]={0};intb[1000]={0};inti,j,n,m;FILE*fp;start=clock();fp=fopen("E:\file.txt","r");rewind(fp);printf("Pleaseinputtheamountyouwanttoreadfromthefi
3、为1000,初始时为空。(2)从由1产生的数据文件中依次取前N个随机整数,陆续插入到此线性表中,并要求在每次插入后保持线性表的有序性。最后将此有序线性表打印输出。(3)在由(2)产生的线性表中,依在1中产生的次序逐个将元素删除,直至表空为止。3.以N=100及N=400分别运行2的程序,并比较它们的运行时间。4.编写一个程序,用插入排序依次将1中产生的1000个随机整数链接成有序链表(不改变原随机数在存储空间中的顺序)。【实验过程】(实验步骤、记录、数据、分析)(一)实验步骤1.事先编制好实验内容中1
4、、2、4的程序(可参考本实验中的方法说明),并调试通过。2.运行1的程序,生成1000个0至999之间的随机整数的数据文件,并打印输出此数据文件。3.以N=100运行2的程序,并记下运行时间。4.以N=400运行2的程序,并记下运行时间。5.运行4的程序。6.整理程序清单和运行结果,写出实验报告。(二)程序清单【实验一】#include#include#includevoidmain(){longintm,a=0;intb;FILE*fp;intc
5、[1000];fp=fopen("E:\file.txt","w");m=pow(2,16);for(b=0;b<1000;b++){a=(2053*a+13849)%m;c[b]=(1000*a)/m;fprintf(fp,"%5d",c[b]);}for(b=0;b<1000;b++){printf("%5d",c[b]);if((b+1)%10==0)printf("");}fclose(fp);}【实验二】#include#includevoidma
6、in(){inta[1000]={0};intb[1000]={0};inti,j,n,m;FILE*fp;fp=fopen("E:\file.txt","r");rewind(fp);printf("Pleaseinputtheamountyouwanttoreadfromthefile:");scanf("%d",&n);for(i=0;ia[i-1]){m
7、=a[i];a[i]=a[i-1];a[i-1]=m;}}printf("Thefinaldatais:");for(i=0;i#inclu
8、de#includevoidmain(){clock_tstart,finish;doubleduration;inta[1000]={0};intb[1000]={0};inti,j,n,m;FILE*fp;start=clock();fp=fopen("E:\file.txt","r");rewind(fp);printf("Pleaseinputtheamountyouwanttoreadfromthefi
此文档下载收益归作者所有