内容发布更新时间 : 2024/11/18 12:26:14星期一 下面是文章的全部内容请认真阅读。
《数据结构实验》实验报告
班级: 姓名: 学号:
实验一 线性表的基本操作
一、 实验目的
1、掌握线性表的定义;
2、掌握线性表的基本操作,如建立、查找、插入和删除等。
二、 实验内容
定义一个包含学生信息(学号,姓名,成绩)的顺序表和链表(二选一),使其具有如下功能:
(1) 根据指定学生个数,逐个输入学生信息; (2) 逐个显示学生表中所有学生的相关信息;
(3) 根据姓名进行查找,返回此学生的学号和成绩;
(4) 根据指定的位置可返回相应的学生信息(学号,姓名,成绩); (5) 给定一个学生信息,插入到表中指定的位置; (6) 删除指定位置的学生记录; (7) 统计表中学生个数。
三、 实验环境
Visual C++
四、 程序分析与实验结果 #include
第 1 页 共 14 页
《数据结构实验》实验报告
typedef 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;
第 2 页 共 14 页
《数据结构实验》实验报告
return OK; }
Status GetElem(LinkList L,int i,ElemType &e) // 访问链表,找到 i位置的数据域,返回给 e {
LinkList p; p=L->next; int j=1; while(p&&j
if(!p||j>i) return ERROR; e=p->data; return OK; }
Status Search(LNode L,char str[],LinkList &p) // 根据名字查找 {
p=L.next;
第 3 页 共 14 页
p=p->next; ++j;