- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                实验一线性表基本操作的编程实现实验一线性表基本操作的编程实现
                    实验一  线性表基本操作的编程实现
【实验目的】
线性表基本操作的编程实现
要求:
线性表基本操作的编程实现(2学时,验证型),掌握线性表的建立、遍历、插入、删除等基本操作的编程实现,也可以进一步编程实现查找、逆序、排序等操作,存储结构可以在顺序结构或链表结构中任选,可以完成部分主要功能,也可以用菜单进行管理完成大部分功能。还鼓励学生利用基本操作进行一些更实际的应用型程序设计。
【实验性质】
验证性实验(学时数:2H)
【实验内容】
把线性表的顺序存储和链表存储的数据插入、删除运算其中某项进行程序实现。建议实现键盘输入数据以实现程序的通用性。为了体现功能的正常性,至少要编制遍历数据的函数。
【注意事项】
1.开发语言:使用C。
2.可以自己增加其他功能。
【思考问题】
1.	线性表的顺序存储和链表存储的差异?优缺点分析?
2.	那些操作引发了数据的移动?
3.	算法的时间效率是如何体现的?
4.	链表的指针是如何后移的?如何加强程序的健壮性?
【参考代码】(以下内容,学生任意选择一个完成即可)
(一)利用顺序表完成一个班级学生课程成绩的简单管理
1、预定义以及顺序表结构类型的定义
 (1) #includestdio.h
#includeconio.h
#define  ListSize 100 //根据需要自己设定一个班级能够容纳的最大学生数
  (2) typedef struct stu
{  
         int num;  				//学生的学号
         char name[10]; 		//学生的姓名
         float physics;  		//物理成绩
         float math;			//数学成绩
		 float english;			//英语成绩
}STUDENT; 				        //存放单个学生信息的结构体类型
typedef struct List
{
        STUDENT stu[ListSize];		//存放学生的数组定义,静态分配空间
        int length;						//记录班级实际学生个数
}LIST;							//存放班级学生信息的顺序表类型
2、建立班级的学生信息
void listcreate(LIST *Li,int m) //m为该班级的实际人数
{
  int i;
  Li-length=0;
	for(i=1;               ;i++) //输入m个学生的所有信息
	{
		printf(请输入第%d位学生的信息:\n,i);
		printf(学号=);
		scanf(%d,Li-stu[i].num); //输入第i个学生的学号
		printf(姓名=);
		scanf(%s,Li-stu[i].name); //输入第i个学生的姓名
		printf(物理成绩=);
		scanf(%f,Li-stu[i].physics); //输入第i个学生的物理成绩
		printf(数学成绩=);
		scanf(%f,Li-stu[i].math); //输入第i个学生的数学成绩
		printf(英语成绩=);
		scanf(%f,Li-stu[i].english); //输入第i个学生的英语成绩
		               ; //学生人数加1
 	}
}
3、插入一个学生信息
int listinsert(LIST *Li,int i)			//将学生插入到班级Li的第i个位置。
{
	int j;
	STUDENT e;
	if(Li-length==               )			//测试存储空间是否被占满
	{
		printf(无更多的存储空间!\n);
		return 0;
	}
	if (i1||iLi-length+1) 		//插入位置检验,如果错误就返回0退出程序。
		return 0;					
	else
	{
	  	printf(请输入插入的学生信息:\n);
		printf(学号=);		 
	    scanf(%d,e.num); 
		printf(姓名=);
		scanf(%s,); 
		printf(物理成绩=);
		scanf(%f,e.physics); 
		printf(数学成绩=);
		scanf(%f,e.math); 
		printf(英语成绩=);
		scanf(%f,e.english); 
		for(j=Li-length;               ;j--)  //从i位置到最后的元素依次往后移动
			Li-stu[j+1]=               ;
		Li-
                您可能关注的文档
- 定时器课程设计.doc
- 定稿:分层次目标教学的有效性.doc
- 定西小学2012—2013学年第一学期学校工作计划.doc
- 定西工贸中专学生行为规范.doc
- 定时插座设计与制作.doc
- 定语从句关系副词讲解及练习.doc
- 定语从句(讲义).doc
- 定语从句改错题.ppt
- 定语从句注意事项。.doc
- 定语从句学习指导与练习资料整理.doc
- 浙江国企招聘-2026年兰溪市市属国企(交投集团)下半年公开考前自测高频考点模拟试题(浓缩300题).docx
- 2026年材料员考试题库含答案(新).docx
- 2026年中级银行从业资格之中级银行管理题库300道附参考答案【模拟题】.docx
- 2026年试验检测师之交通工程考试题库300道及答案(网校专用).docx
- 2026年试验检测师之交通工程考试题库300道附参考答案(b卷).docx
- 2026年试验检测师之交通工程考试题库300道及参考答案(达标题).docx
- 2026年试验检测师之交通工程考试题库300道(巩固).docx
- 超星尔雅学习通《形势与政策(2026春)》章节测试题最新.docx
- 2026年国家电网招聘之人力资源类考试题库300道及参考答案ab卷.docx
- 2026年知识百科竞赛考试题库80道及答案【全国通用】.docx
 原创力文档
原创力文档 
                        

文档评论(0)