- 6
- 0
- 约1.28千字
- 约 2页
- 2017-08-17 发布于河南
- 举报
实验一 线性表的基础训练(2次上机)
【上机时间】
第1次 2007年9月17日(星期一)晚上18:30~21:30
第2次 2007年10月8日(星期一)晚上18:30~21:30
【上机地点】
信息学院大楼一楼西边 信息学院机房 联系老师:刘桂英,3607462
【实验目的】
熟悉掌握本门课程所使用的程序设计语言(C语言)体会算法与程序之间的区别:
/输出、参数传递;
熟练使用C中的动态分配与释放函数(malloc, realloc, free);
熟悉带参数的main函数的编写与运行;
类C的引用参数在C中的变换处理;
利用输入导向,从文件中获取输入数据。
初步理解线性表的顺序存储和链式存储特性,掌握在不同存储结构、不同约定下,其基本操作的实现方法与差异。体会以下几点(注意你所做的约定):
静态分配的顺序表及增量式分配的顺序表在表示与实现上的差别,各有何特点;
有头结点的链表与无头结点链表在操作实现上的区别;
头插法与尾插法的操作方法及应用效果对比;
插入、删除操作在顺序存储和链式存储上的差别;
非循环单链表、循环单链表各适用于解决哪些问题,它们在数据类型定义、操作的定义及实现上各有什么区别?
静态链表与动态链表之间的映射与差别(自选)。
【实验要求】
下载Gzip的相关资源,用VC为Gzip建立project,编译运行Gzip;给出3种以上的命令行输入,单步跟踪Gzip对命令行参数的处理;目的:开展程序理解的第一阶段。
下载ch2.rar其中c1.h是第1章预设的一些宏和类型名, c2-1.h是顺序表的类型定义,c2-2.h是链表的类型定义,bo2-1.c是ADT List中基本操作的顺序表实现, bo2-2.c是ADT List中基本操作的链表实现,algo2-1.c是例2-1的顺序表实现,algo2-12.c是例2-1的链表实现,algo2-12a.c是改写algo2-12.c的Union()函数。命令行格式: 〈可执行程序名〉〈人数n〉〈初始的报数上限m〉〈密码1〉 …… 〈密码n〉·第1个参数是你所编写的程序的可执行文件名,·第2个参数是指定形成约瑟夫环的人数n·第3个参数是指定初始的报数上限m·后面n个参数是n个人所持有的整数密码。当除可执行程序名外,没有参数时,将继续执行程序并提示用户输入这些参数。基本要求:1)假设命令行参数是齐全的且是正确的,运行所编写的程序能正确地输出结果;2)能将输出结果导到文件中。实验提示:该实验的处理可分以下几个模块:1)命令行参数的处理;2)单循环链表的创建;3)根据m和起始报数人对应在单循环链表中的位置,确定出列人的位置;4)删除出列人对应的结点。选作要求:1)程序有对命令行参数不全或不正确的处理(如提示输入、报错等);2)将约瑟夫环用顺序表实现。
撰写实验报告。
【检查期限】
上机内容检查时间:第2次和第3次上机时,以第3次上机为截止时间;
报告上交截止时间:10月11日(星期四)上午上课前截止。
1
原创力文档

文档评论(0)