




免费预览已结束,剩余9页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
淮海工学院计算机科学系 实验报告书 课程名 课程名 数据结构数据结构 题 目 线性表数据结构试验 班 级 学 号 姓 名 评语 成绩 指导教师 批阅时间 年 月 日 数据结构 实验报告 1 线性表实验报告要求线性表实验报告要求 1 目的与要求 1 掌握线性表数据结构的基本概念和抽象数据类型描述 2 熟练掌握线性表数据结构的顺序和链式存储存表示 3 熟练掌握线性表顺序存储结构的基本操作算法实现 4 熟练掌握线性表的链式存储结构的基本操作算法实现 5 掌握线性表在实际问题中的应用和基本编程技巧 6 按照实验题目要求独立正确地完成实验内容 提交程序清单及相关实验数据与运行结 果 7 按照报告格式和内容要求 认真书写实验报告 并在试验后的第三天提交电子 全班 同学提交到学委 再统一打包提交给老师 和纸质 每班每次 5 份 学委安排 保证每个同学 至少提交一次 8 积极开展实验组组内交流和辅导 严禁复制和剽窃他人实验成果 一旦发现严肃处理 9 上实验课前 要求每个同学基本写好程序 并存储在自己的 U 盘上 用于实验课堂操 作时调试和运行 凡不做准备 没有提前编写程序者 拒绝上机试验 2 实验内容或题目 一 顺序表的基本操作实现实验一 顺序表的基本操作实现实验 要求 数据元素类型 ElemType 取整型 int 按照顺序存储结构实现如下算法 1 创建任意整数线性表 即线性表的元素值随机在键盘上输入 的顺序存储结构 即顺序表 长 度限定在 25 之内 2 打印 显示 遍历 该线性表 依次打印 显示出表中元素值 3 在顺序表中查找第 i 个元素 并返回其值 4 在顺序表第 i 个元素之前插入一已知元素 5 在顺序表中删除第 i 个元素 6 求顺序表中所有元素值 整数 之和 二 链表 带头结点 基本操作实验二 链表 带头结点 基本操作实验 要求 数据元素类型 ElemType 取字符型 char 按照动态单链表结构实现如下算法 数据结构 实验报告 2 1 按照头插法或尾插法创建一个带头结点的字符型单链表 链表的字符元素从键盘输入 长度限 定在 10 之内 2 打印 遍历 该链表 依次打印出表中元素值 注意字符的输入顺序与链表的结点顺序 3 在链表中查找第 i 个元素 i 合法返回元素值 否则 返回 FALSE 4 在链表中查找与一已知字符相同的第一个结点 有则返回 TRUE 否则 返回 FALSE 5 在链表中第 i 个结点之前插入一个新结点 6 在线性表中删除第 i 个结点 7 计算链表的长度 3 实验步骤与源程序 一 顺序表的基本操作实现实验 Common h include include include define OK 1 define ERROR 0 define TRUE 1 define FALSE 0 Seqlist h define ElemType int define MAXSIZE 25 typedef struct ElemType elem MAXSIZE int last SeqList include common h include seqlist h int Locate SeqList L int n int i 0 while i L last 数据结构 实验报告 3 if i L last return L elem i else return 1 int InsList SeqList L int i ElemType e int k if iL last 2 printf 插入位置 i 值不合法 return ERROR if L last MAXSIZE 1 printf 表已满无法插入 return ERROR for k L last k i 1 k L elem k 1 L elem k L elem i 1 e L last return OK int DelList SeqList L int i ElemType e int k if iL last 1 数据结构 实验报告 4 printf 删除位置不合法 return ERROR e L elem i 1 for k i klast k L elem k 1 L elem k L last return OK int AddList SeqList L int k s 0 for k 0 klast k s s L elem k return s void main SeqList l int p q r q1 int i q1 int malloc sizeof int printf 请输入线性表的长度 scanf d l last r 1 printf 请输入线性表的各元素值 n for i 0 i l last i 数据结构 实验报告 5 scanf d printf 请输入要查找的元素的位置 n scanf d p Locate l q if p 1 printf 在此线性表中没有这样的元素 n else printf 该位置的元素为 d n p printf 请输入要插入的位置 n scanf d printf 请输入要插入的元素值 n scanf d InsList for i 0 i l last i printf d l elem i printf n printf 请输入要删除的元素位置 n scanf d DelList printf 删除的元素值为 d n q printf 删除后的元素序列 n for i 0 i l last i printf d l elem i printf n printf 剩余数字之和为 printf n d n AddList 数据结构 实验报告 6 二 链表 带头结点 基本操作实验 Common h include include include define OK 1 define ERROR 0 define TRUE 1 define FALSE Linklist h typedef char ElemType typedef struct Node ElemType data struct Node next Node LinkList include include define ElemType char typedef struct Node ElemType data struct Node next Node LinkList 数据结构 实验报告 7 LinkList CreateFromHead LinkList L Node s char c int flag 1 i 1 L LinkList malloc sizeof Node L next NULL while flag s next L next L next s else flag 0 i return L Node search LinkList L int i int j 0 Node p 数据结构 实验报告 8 p L while p next NULL j if i j return p else return NULL Node locate LinkList L ElemType key Node p p L next while p NULL if p data key p p next else break return p void InsList LinkList L int i ElemType e Node p s int k p L k 0 while p NULL k k 1 if k i 1 printf error s Node malloc sizeof Node s data e s next p next p next s void delLink LinkList L int i ElemType e Node p r int k p L k 0 while p next NULL k k 1 if k i 1 printf 位置不合理 数据结构 实验报告 10 r p next p next p next next e r data free r int Listlength LinkList L Node p p L next int j 0 while p NULL p p next j return j void main LinkList l Node p char e char a int i n printf 用头插法建立单链表 请输入链表数据 以 结束 n l CreateFromHead p l next 数据结构 实验报告 11 printf 输入的字符依次为 while p NULL printf c p data p p next printf c n Node p1 printf 请输入要查找的字符的序号 scanf d printf 要查找的字符 n p1 search l n printf c p1 data printf c n printf 插入后的字符 n scanf c InsList l 3 a p1 l next while p1 NULL printf c p1 data p1 p1 next printf c n delLink l 2 p1 l next printf 删除后的字符为 n 数据结构 实验报告 12 while p1 NULL printf c p1 data p1 p1 next printf c n printf 该字符串的长度为 n i Listlength l printf d n i printf 输入要查找的字符 n scanf c p1 locate l a if p1 NULL printf true printf c n else printf flase printf c n 4 测试数据与实验结果 可以抓图粘贴 一 顺序表的基本操作实现实验 数据结构 实验报告 13 二 链表 带头结点 基本操作实验 5 结果分析与实验体会 这是第一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生物医学工程课程教学改革与实践探索
- 规范化二手车市场管理与发展策略研究
- 2025年文科数学试卷及答案
- 普通话语音考试题及答案
- 网警专业测试题目及答案
- 第二节 资源跨区域调配教学设计-2025-2026学年高中地理人教版2019选择性必修2-人教版2019
- DB65T 4407-2021 安迪尔甜瓜 青麻皮 绿色生产技术规程
- DB65T 4391-2021 布鲁氏菌病A19株与感染株PCR鉴别法
- 植物保护专业试题及答案
- DB65T 4518-2022 葡萄园化学肥料和农药减施技术规程
- 人教版四年级上册第一单元1.6《算盘》课时练(含答案)
- 2025年高考语文全国二卷真题拓展:语言文字运用“衔接+感情色彩+关联词语+错别字”
- 2025年司法考试题库(附答案)
- 铁路客运市场营销现状分析及策略优化
- 2026年色彩流行趋势报告
- 心衰护理题库及答案
- 仪表工安全基础知识培训课件
- ISO9001质量管理体系培训
- 光电检测技术及应用 周秀云
- 《无人机飞行控制技术》全套教学课件
- 2025至2030中国糠醛衍生物市场未来趋势及发展态势展望报告
评论
0/150
提交评论