数据结构实验一-实验报告(共14页).doc
《数据结构实验一-实验报告(共14页).doc》由会员分享,可在线阅读,更多相关《数据结构实验一-实验报告(共14页).doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上班级: 姓名: 学号: 实验一 线性表的基本操作一、 实验目的1、掌握线性表的定义;2、掌握线性表的基本操作,如建立、查找、插入和删除等。二、 实验内容定义一个包含学生信息(学号,姓名,成绩)的顺序表和链表(二选一),使其具有如下功能:(1) 根据指定学生个数,逐个输入学生信息;(2) 逐个显示学生表中所有学生的相关信息;(3) 根据姓名进行查找,返回此学生的学号和成绩;(4) 根据指定的位置可返回相应的学生信息(学号,姓名,成绩); (5) 给定一个学生信息,插入到表中指定的位置; (6) 删除指定位置的学生记录;(7) 统计表中学生个数。三、 实验环境Visual
2、 C+四、 程序分析与实验结果#include#include#include#include#define OK 1#define ERROR 0#define OVERFLOW -2typedef int Status;/ 定义函数返回值类型 typedef structchar num10; / 学号char name20; / 姓名double grade; / 成绩 student;typedef student ElemType;typedef struct LNodeElemType data; / 数据域struct LNode *next; /指针域 LNode,*LinkL
3、ist;Status InitList(LinkList &L) / 构造空链表 L L=(struct LNode*)malloc(sizeof(struct LNode);L-next=NULL;return OK;Status GetElem(LinkList L,int i,ElemType &e) / 访问链表,找到 i位置的数据域,返回给 e LinkList 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,Link
4、List &p) / 根据名字查找 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;re
5、turn OK;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文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 实验 报告 14
限制150内