电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据结构实验一-实验报告

数据结构实验一-实验报告_第1页
1/12
数据结构实验一-实验报告_第2页
2/12
数据结构实验一-实验报告_第3页
3/12
班级: 姓名: 学号: 实验一 线性表的基本操作一、实验目的1、掌握线性表的定义;2、掌握线性表的基本操作,如建立、查找、插入与删除等。二、实验内容定义一个包含学生信息(学号,姓名,成绩)的顺序表与链表(二选一),使其具有如下功能:(1) 根据指定学生个数,逐个输入学生信息;(2) 逐个显示学生表中所有学生的相关信息;(3) 根据姓名进行查找,返回此学生的学号与成绩;(4) 根据指定的位置可返回相应的学生信息(学号,姓名,成绩); (5) 给定一个学生信息,插入到表中指定的位置; (6) 删除指定位置的学生记录;(7) 统计表中学生个数。三、实验环境Visual C++四、程序分析与实验结果#include#include#include#include#define OK 1#define ERROR 0#define OVERFLOW -2typedef int Status; // 定义函数返回值类型 typedef struct{char num[10]; // 学号char name[20]; // 姓名double grade; // 成绩 }student;typedef student ElemType;typedef struct LNode{ElemType data; // 数据域struct LNode *next; //指针域 }LNode,*LinkList;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||j>i) return ERROR;e=p->data;return OK;}Status Search(LNode L,char str[],LinkList &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||j>i-1)return ERROR;s=(struct LNode*)malloc(sizeof(LNode));s->data=e;s->next=p->next;p->next=s;return OK;}Status ListDelete(LinkList p,int i) // 删除 i 位置的学生信息 {int j=0;while((p->next)&&(jnext;++j;}if(!(p->next)||(j>i-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("学号:");...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

数据结构实验一-实验报告

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部