数据结构实验一实验报告.docx
《数据结构实验一实验报告.docx》由会员分享,可在线阅读,更多相关《数据结构实验一实验报告.docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品文档班级:姓名:学号:实验一 线性表的基本操作一、实验目的1、掌握线性表的定义;2、掌握线性表的基本操作,如建立、查找、插入和删除等。二、实验内容定义一个包含学生信息(学号,姓名,成绩)的顺序表和链表(二选一),使其具有如下功能:(1) 根据指定学生个数,逐个输入学生信息;(2) 逐个显示学生表中所有学生的相关信息;(3) 根据姓名进行查找,返回此学生的学号和成绩;(4) 根据指定的位置可返回相应的学生信息(学号,姓名,成绩);(5) 给定一个学生信息,插入到表中指定的位置;(6) 删除指定位置的学生记录;(7) 统计表中学生个数。三、实验环境Visual C+四、程序分析与实验结果#in
2、clude #include #include #include #define OK 1#define ERROR 0#define OVERFLOW -2.typedef int Status; / 定义函数返回值类型typedef structchar num10; / 学号char name20; / 姓名double grade; / 成绩student;typedef student ElemType;typedef struct LNodeElemType data; / 数据域struct LNode *next; /指针域LNode,*LinkList;Status Init
3、List(LinkList &L) / 构造空链表 LL=(struct LNode*)malloc(sizeof(struct LNode); L-next=NULL;return OK;Status GetElem(LinkList L,int i,ElemType &e) / 访问链表,找到 i 位置的数据域, 返回给 eLinkList p; p=L-next; int j=1;while(p&jnext;+j;if(!p|ji) return ERROR; e=p-data;return OK;Status Search(LNode L,char str,LinkList &p) /
4、 根据名字查找p=L.next; while(p)if(strcmp(p-data.name,str)=0) return OK;p=p-next;return ERROR;Status ListInsert(LinkList L,int i,ElemType e) / 在 i 个位置插入某个学生的信息LinkList p,s; p=L;int j=0; while(p&jnext;+j;if(!p|ji-1)return ERROR;s=(struct LNode*)malloc(sizeof(LNode); s-data=e;s-next=p-next;p-next=s; return O
5、K;Status ListDelete(LinkList p,int i) / 删除 i 位置的学生信息int j=0;while(p-next)&(jnext;+j;if(!(p-next)|(ji-1) return ERROR; LinkList q;q=p-next;p-next=q-next; delete q;return OK;void Input(ElemType *e)printf(姓名:); scanf(%s,e-name);printf(学号:); scanf(%s,e-num);printf(成绩:); scanf(%lf,&e-grade); printf(输入完成n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 实验 报告
限制150内