数据结构实验报告一

2020-03-27 19:28

《数据结构》实验报告

实验一、顺序表的应用

专 业 信息管理与信息系统 班 级 091 学 号 09125030139 学生姓名 易纬郴 指导老师 李辉

河南科技大学国际教育学院

2009年10月25日

一、实验目的

本次实验的目的在于通过实验实践活动,让学生熟悉掌握线性表的各种知识点

以及其生活实际中的应用,其中一下知识点最为重要:

ADT List{

数据对象:D={ai|ai属于ElemSet,i=1,2,……,n,n>=0} 数据关系:R1={|ai-1,ai属于D,i=1,2,……,n} 基本操作:

I: 构造一个线性表L InitList(&L)

II:在线性表L第i位置之前插入新数据e,线性表的长度加一 ListInsert(&L,i,e)

III: 在线性表L第i位置删除数据e,线性表的长度减一 ListDelete(&L,i,&e)

IV:查找线性表L中第i个元素值e (1<=i<=ListLength(L)) GetElem(L,i,&e) ………………}

以及线性表的清空,判定是否为空,表的长度,元素位置的判定,遍历等等一些常规操作,要求学生们了解的知识点,通过这次实验实践活动让其了解对各种数据类型有不同的处理操作,以及增进同学们对以后学习其他数据结构类型的信心!

让学生把课堂上的知识运用到现实生活中去,做到学以致用,这样才能勾起学生们学习这些知识的兴趣,才会把这门课学好!

二、实验内容

本次实验要求验证以班级学生信息作为管理对象,实现顺序表各种基本运算的C语言程序。

通过本次实验练习,要求学生对C语言各个知识点进行复习领会,学习如何利用C语言建立班级学生信息线性表的顺序存储结构,如何使用顺序表的基本操作算法,实现对班级学生信息的管理,包括学生信息的插入、学生信息的删除、学生信息的查询和学生信息线性表的输出。

三、完成情况

#include #include #define MAXSIZE 100

typedef struct{

char num[8];/*学号*/ char name[9];/*姓名*/

- 1 -

char gender[3];/*性别*/ int score;/*成绩*/ }DataType;

typedef struct {

DataType stu[MAXSIZE]; int length; }sequenlist;

int menu_select() {

int sn;

printf(\学生信息管理系统\\n\

printf(\ printf(\学生信息线性表的建立\\n\ printf(\插 入 学 生 信 息\\n\ printf(\查 询 学 生 信 息\\n\ printf(\删 除 学 生 信 息\\n\ printf(\输 出 所有学生信息\\n\ printf(\退 出 管 理 系 统\\n\

printf(\ printf(\请选择0-5:\\n\ for(;;) {

scanf(\ if (sn<0 || sn>5)

printf(\输入错误,重选0-5\\n\ else

break; }

return sn; }

void createList(sequenlist *L) {

int n,i;

printf(\有几位学生?请输入:\\n\ fflush(stdin); scanf(\

printf(\以下请输入这%d位学生的信息:\\n\ for(i=0;i

printf(\第%d位学生:\

- 2 -

printf(\学号(8) 姓名(8) 性别 成绩\\n\ fflush(stdin);

scanf(\.score);

}

L->length=n; }

void printList(sequenlist *L) { int i;

printf(\

printf(\for(i=0;ilength;i++)

printf(\er,L->stu[i].score);

printf(\}

int insert(sequenlist *L,DataType *student,int i) {

int j;

if(L->length==MAXSIZE) {

printf(\ return 0; }

else if((i<0)||(i>L->length)) {

printf(\ return 0; } else {

for(j=L->length-1;j>=i;j--) {

strcpy(L->stu[j+1].num,L->stu[j].num); strcpy(L->stu[j+1].name,L->stu[j].name);

strcpy(L->stu[j+1].gender,L->stu[j].gender); L->stu[j+1].score=L->stu[j].score; }

- 3 -

strcpy(L->stu[i].num,student->num); strcpy(L->stu[i].name,student->name);

strcpy(L->stu[i].gender,student->gender); L->stu[i].score=student->score;

L->length=L->length+1; }

return 1; }

int findList(sequenlist *L) {

char num[8]; char name[9]; int i=0,xz;

printf(\ printf(\、按学号查询\\n\ printf(\、按姓名查询\\n\

printf(\ printf(\请选择: \ fflush(stdin); scanf(\ if (xz==1) {

printf(\请输入要查找学生的学号:\ scanf(\

for(i=0;ilength;i++) {

if(strcmp(L->stu[i].num,num)==0) return i; } }

else if (xz==2) {

printf(\请输入要查找学生的姓名:\ scanf(\

for(i=0;ilength;i++) {

if(strcmp(L->stu[i].name,name)==0) return i; } }

return -1;/*如果没找到,返回-1。否则直接返回,不会执行本句*/

- 4 -


数据结构实验报告一.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:智力七巧板校本课程开发教案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: