- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北航计算机软件基础实验报告
计算机软件基础上机实验报告(一)
XXXXXX 班 XXX1.实验目的
掌握线性表在顺序分配下的插入与删除运算;掌握线性表的链式存储结构;掌握插入排序的方法;并掌握一种产生随机数的方法。
2.实验内容
1. 产生 1000 个 0 至 999 间的随机整数,并以产生的次序存入一个数据文件中。
2. 编制一个程序,依次实现以下功能:
(1) 定义一个有序(非递减)线性表,其最大容量为 1000,初始时为空。
从由 1 产生的数据文件中依次取前 N 个随机整数,陆续插入到此线性表中,并要求在每次插入后保持线性表的有序性。最后将此有序线性表打印输出。
在由( 2)产生的线性表中,依在 1 中产生的次序逐个将元素删除,直至表空为止。
3. 以 N=100 及 N=400 分别运行 2 的程序,并比较它们的运行时间。
4. 编写一个程序,用插入排序依次将 1 中产生的 1000 个随机整数链接成有序链表(不改变原随机数在存储空间中的顺序) 。
3.源代码与运行结果
#includestdio.h
#includestdlib.h
#includetime.h
/**
1_1
产生 1000 个 0 至 999 间的随机整数,并以产生的次序存入一个数据文件 (1_1.txt) 中。
**/
main()
{
FILE *fo=fopen(1_1.txt,w);
int i,j;
srand((unsigned)time(0));
for (i=0;i=999;i++) fprintf(fo,%d\n,rand()%1000);
fclose(fo);
printf(1000 个随机数已输出至目录下 1_1.txt 文件 \n);
北航计算机软件基础实验报告
system(pause);
}
输出文件 1_1.txt 如下:(因输出文本长度缘故,此处只截了一幅图)
#includestdio.h
#includestdlib.h
#includetime.h
/**
1_2
从数据文件 (1_1.txt) 中读取数据,进行插入排序,然后屏幕输出。
再依序删除。
1_3
以 N=100 及 N=400 分别运行 2 的程序,并比较它们的运行时间。
**/
#define N 1000
main()
{
int a[N]={0};
int i,j,m,w,num=0;
FILE *fi=fopen(1_1.txt,r);
clock_t start,finish;
double duration;
北航计算机软件基础实验报告
//Part 1 :
start=clock();
m=0;
fscanf(fi,%d,num);
a[0]=num;
w=m;
for (j=1;j=N-1;j++)
{
w=m;
fscanf(fi,%d,num);
while ((a[w]num)(w=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;iN;i++) printf(%d ,a[i]);
fclose(fi);
//Part 2 :
start=clock();
for (j=0;j=N-1;j++)
{
w=0;
fscanf(fi,%d,num);
while (a[w]num) w++;
for(i=m;im;i++) a[i]=a[i+1];
a[m]=0;
m--;
}
finish=clock();
duration=(double)(finish - start)/CLOCKS_PER_SEC;
printf(\n\n 删除操作完成!用时: %f 秒,得到线性表如下: \n,duration);
for (i=0;iN;i++) printf(%d ,a[i]);
printf(\n);
北航计算机软件基础实验报告
fclose(fi);
system(pause);
}
程序运行输出结果如下: (因输出文本长度缘故,此处只截了两幅图)
#includestdio.h
#includestdlib.h
/**
北航计算机软件基础实验报告
1_4
编写一个程序,用插入排序依次将 1_1.txt 中的 1000 个随机整数链接成有序链表
(不改变原随机数在存储空间中的顺序)
**/
#define N 1000
main()
{
stru
您可能关注的文档
- (jfe)交通工程监理细则.doc
- (样稿)-浙江旅游网.doc
- “创意一夏”手工兴趣小组计划书.doc
- (完整版)旅游公共关系学.doc
- _商务领航“多语翻译”产品说明书.doc
- (全国通用版)2019版高考政治一轮复习第十三单元生活智慧与时代精神第43讲哲学的含义及其作用讲义.doc.doc
- 《创新方法》课程报告要点.doc
- “六一”亲子活动创意.doc
- 《电力安全生产管理规程》创伤急救技术规范.doc
- “最美班级”创意集体照评比方案.doc
- 2024届山东济宁十三中中考物理全真模拟试卷含解析.doc
- 2024届山东省东平县实验中学中考联考英语试题含答案.doc
- 2024届山东省安丘市、高密市、寿光市重点达标名校中考五模英语试题含答案.doc
- 2024届山东省滨州市滨城区化学九年级第一学期期中监测模拟试题含解析.doc
- 2024届山东省德州市平原县化学九年级第一学期期中质量跟踪监视模拟试题含解析.doc
- 2024届山东省滨州市邹平县九年级化学第一学期期中质量跟踪监视模拟试题含解析.doc
- 2024届山东青岛重点名校中考物理最后冲刺浓缩精华卷含解析.doc
- 2024届山东东营市十校联考最后英语试题含答案.doc
- 2024届山东菏泽郓城化学九年级第一学期期中质量跟踪监视模拟试题含解析.doc
- 2024届山东省滨州惠民县联考中考物理考前最后一卷含解析.doc
文档评论(0)