数据结构实验一,实验报告_第1页
数据结构实验一,实验报告_第2页
数据结构实验一,实验报告_第3页
数据结构实验一,实验报告_第4页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据结构实验一,实验报告 班级: 姓名: 学号: 实验一 线性表得基本操作 一、 实验目得 1、掌握线性表得定义; 2、掌握线性表得基本操作,如建立、查找、插入与删除等。 二、 实验内容 定义一个包含学生信息(学号,姓名,成绩)得顺序表与链表(二选一),使其具有如下功能: () 根据指定学生个数,逐个输入学生信息; (2) 逐个显示学生表中所有学生得相关信息; (3) 根据姓名进行查找,返回此学生得学号与成绩; (4) 根据指定得位置可返回相应得学生信息(学号,姓名,成绩); (5) 给定一个学生信息,插入到表中指定得位置; (6) 删除指定位置得学生记录; (7) 统计表中学生个数. 三、

2、实验环境 vs c+ 四、 程序分析与实验结果 n lu e td o 、h incl malloc 、h i c udes dlib 、h # nclude stri 、 defi e ok de n e ror 0 d fi e verflow p def int s atus ; / 定义函数返回值类型 y def stru t char num10 ; / 学号 ;02eman rahc ; / 姓名 dou le gr d ; / 成绩 student; typedef tudent elemtype ; ty edef ruct lnode lemtyp da a; 数据域 str

3、u t lnode t ; / 指针域 o e ,* n list ; sta s initlis (lin lis l) / 构造空链表 l l (struc lno )malloc(sizeof(s ruct no e); l- nex =nul ; e urn ok ; status ge el m (li k s l, , ,e em y e e) / 访问链表,找到 i 位置得数据域, 返回给 e tsilknil ; p=l nex ; i t =1; whi e (pji) =p next ; + ; f(!p | i ) re ur erro ; p=e dat ; et rn

4、 ok ; sta us e rch( node l, ar tr ,link st p ) / 根据名字查找 找 = 、ext ; hw le(p ) (pmcrts(fi (p ta 、am ,s )=0) e urn ok; -p=p nex ; ruter rror ; sta s istinsert (l l st l,in ,elemtype ) / 在 i 个位置插入某个学生得信息 lin i t p ,s ; p=l; i t j= ; wh le ( i ) =p - nex ; +j ; !(fi |j -1) );orre nruter ; (s (stru lno e*

5、 )malloc (size (lnod ); - data=e ; -s nex =p- nex ; p next s; r t rn ok; s at s listdelete (l nkl st , nt ) / 删除 i 位置得学生信息 int j=0; whil (p ext ) (j i 1 )) =p nex ; + j ; f (!(p next )| (j i 1 ) et rn error ; lin li t q; =q next ; p nex = ne t ; e e e q ; turn k ; voi put(e m y e *e) irp t ('姓名:

6、); canf (%s ',e n m ) ; ri f( '学号: '); c n ( s ', num ); ;):绩成'(ftnirp '成绩:); scanf (lf, e gr de ); pri tf( '输入完成n '); vo d out u (elemtype e ) rint ( 姓名: -20s 学号:% 10 n 成绩: 10 、2l nn ,e n ,e num ,-grade); int m in () lnode ; i k i t p; e emt e ,b, ,d; tnirp ( n * * *

7、 * * * n n ); p t (、 构造链表); 、(stup (、 录入学生信息'); uts(3 、 显示学生信息); (stup (4、 、 输入姓名, 查找该学生) ; tup ( '、 显示某位置该学生信息) ; p ts(6 、 在指定位置插入学生信息'); p s (7、 、 在指定位置删除学生信息') ; u (、 统计学生个数) ; puts (0 、 退出); pr ntf (n* * * * * * * *nn ) ; int x ,choo e=-1; whi e (cho s !=0) p s( 请选择: ); (fnacs %d

8、, ho se ); itch(choos ) c se 1: (fi (nitli t () ) r ntf (成功建立链表nn '); lse p i tf( '链表建立失败nn ); re ; ca e 2: :数人得息信生学入录要入输请'(ftnirp ('请输入要录入学生信息得人数:) ; s nf ('% ',) ; f r(in i 1 ;i =x; + ) r ntf (第d 个学生: ',); ni u (a) ; tinse t( l ,i ,a); ;kaerb ; :3 esac for (i t = ; x ;i

9、+) lem( ,i ,b ); o tp t (b ); aerb ; case : c ar s 20 ; pri f ('请输入要查找得学生姓名: ); c n (%s ,s ); if (search (l ,s, ) ) uo pu ( data )); e s p s ( 对不起,查无此人'); '(stup (') ; aerb ; cas 5 : p ntf( 请输入要查询得位置:) ; ;1di tni ; sc n (%d ,id ); (meleteg (l ,id1, ); utpu (c ); reak ; :6 esac printf

10、 ( 请输入要插入得位置:); tni 2 ; an ( d ,i 2); printf( 请输入学生信息:); i put (d ); (fi isti s t( l,id2,d) ) x+; (stup ( 插入成功'); ts( '); e se puts( 插入失败'); puts( ''); br ak; c se 7 : (ftnirp ( 请输入要删除得位置: ); nt id3 ; can ( d ', id3 ); (fi (tdelet (l,i 3) ) x -; up s( 删除成功); ts ( '); e s

11、u ( '删除失败); ut ( ); reak; c s 8 : rp n ('已录入得学生个数为:%d n ',x); b ea ; p i tf (n 谢谢您得使用, 请按任意键退出nnn); system ('p use ); ter n ; 用户界面: (1) 根据指定学生个数,逐个输入学生信息: (2) 逐个显示学生表中所有学生得相关信息: (3) 根据姓名进行查 找,返回此学生得学号与成绩: (4) 根据指定得位置可返回相应得学生信息( 学号,姓名, 成绩) : (5) 给定一个学生信息, 插入到表中指定得位置: (6) 删除指定位置得学生记录: (7) 统计表中学生个数: 五、 实验总结 数据结构就是一门专业技术基础课。它要求学会分析研究计算机加工得数据结构得特性,以便为应用涉及得数据选择适当得逻辑结构,存储结构及相应得算法,并初步掌握算法得时间分析与空间分析技术

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论