- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目 录
实验1 顺序表的应用 2
实验2 链表的应用 5
实验3 栈的应用 6
实验4 队列的应用 7
实验5 树的应用 9
实验6 图的应用 10
实验7 图的应用 11
实验8 查找与排序 12
0 实验要求
一、实验步骤
⒈ 问题分析
充分地分析和理解问题本身,弄清要求做什么,包括功能要求、性能要求、设计要求和约束以及基本数据特性,数据间的联系等。
⒉ 数据结构设计
针对要求解决的问题,考虑各种可能的数据结构,并且力求从中找出最佳方案(必须连同算法一起考虑),确定主要的数据结构及全局变量。对引入的每种数据结构和全局变量要详细说明其功能、初值和操作特点。
⒊ 算法设计
算法设计分概要设计和详细设计,概要设计着重解决程序的模块设计问题,这包括考虑如何把被开发的问题程序自顶向下分解成若干顺序模块,并决定模块的接口,即模块间的相互关系以及模块之间的信息交换问题.详细设计则要决定每个模块内部的具体算法,包括输入、处理和输出,采用类C语言描述。
⒋ 测试用例设计
准备典型测试数据和测试方案,测试数据要有代表性、敏感性,测试方案包括模块测试和模块集成测试。
⒌ 上机调试
对程序进行编译,纠正程序中可能出现的语法错误,测试前,先运行一遍程序看看究竟将会发生什么,如果错误较多,则根据事先设计的测试方案并结合现场情况进行错误跟踪,包括打印执行路径或输出中间变量值等手段。
二、实验报告
每次实验结束后,均应撰写实验报告。实验报告应包括如下内容:
1、问题描述:简述题目要解决的问题是什么。
2、设计:概要设计采用抽象数据类型描述,详细设计包括存储结构的定义、主要操作算法设计等。用类C语言或用框图描述。
3、调试报告:调试过程中遇到的问题是如何解决的;对设计和编码的讨论和分析。
4、运行结果。可以贴相应的运行结果截图。
5、算法分析与改进:算法的时间复杂度和空间复杂度分析;算法改进的设想。
6、经验和体会
所有实验做完后,上交上机实验源程序和相应的运行结果截图。源程序要加注释。如果题目规定了测试数据,则截图结果要包含这些测试数据和运行输出,当然还可以含有其它测试数据和运行输出(有时需要多组数据)。
三、实验学时
16学时
实验1 线性表的顺序存储结构
实验目的
熟悉C语言的上机环境,掌握使用上机调试线性表的基本方法;掌握线性表的基本操作:插入、删除、查找等。
实验要求
认真阅读和掌握本实验的程序。上机运行程序程序的运行结果按照你对线性表的操作需要,重新改写主程序并运行
实验内容(基础题必做,应用题可选)
1. 基础题:线性表基本操作的实现这个程序中演示了顺序表的创建、插入、删除和查找#include stdio.h
#include stdlib.h
//顺序表的定义
#define ListSize 100
typedef int ElemType;
typedef struct
{ ElemType *elem; /*存放表元素的空间基地址*/
int length; /*当前的表长度*/
int listsize; /*能容纳的最大元素个数*/
}SeqList;
void CreateList(SeqList L,int n);
void PrintList(SeqList L,int n);
int LocateList(SeqList L,int x);
void InsertList(SeqList L,int x,int i);
void DeleteList(SeqList L,int i);
void main()
{
SeqList L;
int i,x;
int n=10; /*THE LENGTH OF LIST*/
L.length=0;
clrscr();
CreateList(L,n); /*CREATE THE LIST*/
PrintList(L,n); /*PRINT THE LIST*/
printf(INPUT THE SEARCH ELEMENT);
scanf(%d,x);
i=LocateList(L,x);
printf(the search position is %d\n,i); /*顺序表查找*/
printf(input the position of insert:\n);
scanf(%d,i);
printf(input the value of insert\n);
scanf(%d,x);
InsertList(L,x,i); /*顺序表插入*/
PrintList(L,n); /*打印顺序表*/
printf(input the po
您可能关注的文档
最近下载
- (完整word版)人教版四年级上册数学复习教案.doc VIP
- 煤矿安全操作规程(2023年).docx
- 工作相关肌肉骨骼疾患的工效学预防指南 第 4 部分 轨道交通设备制造作业.pdf VIP
- 园林景观工程施工计划.pdf
- OC IIS的定义(液晶玻璃的检验与不良判定).ppt VIP
- 2025届高考语文复习:文言文阅读+课件.pptx VIP
- 大班数学《坐船去探险》教案课件材料.doc VIP
- 工作相关肌肉骨骼疾患的工效学预防指南 第 6 部分 木质家具制造作业.pdf VIP
- 初中英语八年级上册首字母填空专项练习(共100题,附参考答案).doc
- 工作相关肌肉骨骼疾患的工效学预防指南 第 9 部分 公交车驾驶作业.pdf VIP
文档评论(0)