版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.淮海工学院计算机科学系实验报告书课程名: 数据结构 题 目: 顺序表的基本操作实现试验 班 级: D网络工程072 学 号: 0 姓 名: 田 静 评语:成绩: 指导教师: 朱敏 批阅时间: 2008-10-18.实验一 顺序表的基本操作实现实验1实验目的1)掌握线性表的顺序存储结构和链式存储结构; 2)熟练掌握顺序表和链表基本算法的实现; 3)掌握利用线性表数据结构解决实际问题的方法和基本技巧; 4)按照实验题目要求独立正确地完成实验内容(编写、调试算法程序,提交程序清单及及相关实验数据与运行结果);5)按时提交实验报告2实验环境计算机、C语言程序设计环境3实验学时2学时,必做实验。 4实
2、验内容 实现顺序表的基本操作,线性表中数据元素类型为 结构体,成员包括学生的姓名、学号、若干课程的成绩(int型),按照顺序存储结构实现如下算法: 1)创建任意线性表,长度限定在100个学生信息之内; 2)打印(遍历)该线性表(依次打印出表中元素值); 3)在线性表中查找第i个元素,并返回其值; 4)在线性表中第i个元素之前插入一已知元素; 5)在线性表中删除第i个元素;5 实验步骤与源程序#include#include#include#define ERROR 0#define OK 1#define EQUAL 1#define OVERFLOW -1#define LIST_INIT_
3、SIZE 100#define LISTINCREMENT 10struct STU char name20; char stuno10; int c; int d; int age; int score;stu50;typedef struct STU ElemType;struct LNODE ElemType data; struct LNODE *next;typedef struct LNODE LNode;typedef struct LNODE *LinkList;int init(LinkList *L) *L=(LNode *)malloc(sizeof(LNode); if
4、(!L) exit(ERROR); (*L)-next=NULL; return OK;/*init */int ListLength(LinkList L) int j=0; while (L-next) L=L-next; j+; return j;int GetElem(LinkList L,int i,ElemType *e) LinkList p; int j; p=L-next;j=1; while(p&jnext;+j; if(!p|j1) return ERROR; *e=p-data; return OK;int EqualList(ElemType *e1,ElemType
5、 *e2) if (strcmp(e1-name,e2-name)=0) return 1; else return 0;int Less_EqualList(ElemType *e1,ElemType *e2) if (strcmp(e1-name,e2-name)next) p=p-next; if(EqualList(&p-data,&e) return 1; return 0;break; default:break; return 0;void MergeList(LinkList La,LinkList Lb,LinkList *Lc) LinkList pa,pb,pc; pa=
6、La-next;pb=Lb-next; *Lc=pc=La; while(pa & pb) if(Less_EqualList(&pa-data,&pb-data) pc-next=pa;pc=pa;pa=pa-next; else pc-next=pb;pc=pb;pb=pb-next; pc-next=pa?pa:pb; free(Lb);int printlist(LinkList L) int i; LinkList p; p=L; printf(name stuno age score c dn); while(p-next) p=p-next; printf(%-10s %st%d
7、t%dt%dt%dn, , p-data.stuno, p-data.age, p-data.score, p-data.c, p-data.d); printf(n);int ListInsert(LinkList L,int i,ElemType e) LinkList p,s; int j; p=L;j=0; while(p&jnext; +j; if(!p|ji-1) return ERROR; s=(LinkList)malloc(sizeof(LNode); s-data=e; s-next=p-next; p-next=s; return OK;/*List
8、Insert Before i */main() struct STU e; LinkList La,Lb,Lc; clrscr(); printf(nn-List Demo is running.-nn); printf(First is InsertList function.n); init(&La); strcpy(,stu1); strcpy(e.stuno,100001); e.age=80; e.score=1000; e.c=70; e.d=80; ListInsert(La,1,e); strcpy(,stu3); strcpy(e.stuno,100
9、002); e.age=80; e.score=1000; ListInsert(La,2,e); printlist(La); getch(); strcpy(,stu5); strcpy(e.stuno,100003); e.age=80; e.score=1000; ListInsert(La,3,e); printlist(La); getch(); init(&Lb); strcpy(,stu2); strcpy(e.stuno,100001); e.age=80; e.score=1000; e.c=75; e.d=90; ListInsert(Lb,1,e
10、); strcpy(,stu4); strcpy(e.stuno,100002); e.age=80; e.score=1000; ListInsert(Lb,2,e); strcpy(,stu6); strcpy(e.stuno,100001); e.age=80; e.score=1000; ListInsert(Lb,3,e); printlist(Lb); getch(); MergeList(La,Lb,&Lc); printlist(Lc); getch(); printf(nnnnnnWelcome to visit !nnnnnnn);6 测试数据与实验结果 7结果分析与实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黑龙江省齐齐哈尔市拜泉县2025-2026学年七年级上学期1月期末语文试题(含答案)(含解析)
- 探寻中国经济增长地区差距:理论、现状与破解之道
- 探寻中国政府卫生支出的优化路径:规模、结构与绩效的多维审视
- 2026年新能源汽车电池梯次利用在电动滑板车租赁市场的可行性研究
- 政治试卷【高一】广西壮族自治区玉林市八校2025年秋季期11月份高一年级联合调研测试(11.17-11.18)
- 农村产业帮扶增效承诺书范文6篇
- 农业合作社土地流转项目协议书
- 2026年智慧城市建设方案报告及创新实践分析
- 我心中的班主任小学三年级日记350字(15篇)
- 物流运输管理与成本优化工具集
- 2026年及未来5年中国通信机柜行业发展运行现状及投资战略规划报告
- 《2026年》档案管理岗位高频面试题包含详细解答
- 云南省昆明市2026届高三三诊一模摸底诊断测试数学试卷(含答案)
- 门诊护理中的PDCA循环:提升患者满意度
- 古代文学八股文课件
- 正压式消防空气呼吸器培训
- 2025年产品成本核算实操培训
- 延边大学本科生毕业论文(设计)撰写规范
- 粉笔线上协议班 合同
- 二十届四中全会测试题及参考答案
- 腹腔出血护理常规
评论
0/150
提交评论