- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(word)数据结构实验报告 顺序表
江西理工大学软件学院
计算机类课程实验报告
课程名称: 数据结构
班 级:
姓 名:
学 号:
江西理工大学软件学院实验二:顺序表
2012年11月10日
一. 实验目的
掌握顺序表的逻辑结构、存储结构、以及操作。
二. 问题描述
线性表是由n(n≥0)个元素(结点)a1, a2, …, an组成的有限序列,其中ai中的i称为该数据元素的位置(序号),n为数据元素的个数(表的长度),当n等于0时称为空表。
按逻辑次序依次把数据元素存放在一组连续的地址存储单元里的线性表称为顺序表。在这里,我们通过C++中的动态数组来实现顺序表的存放,并通过建立顺序表类实现它的各种操作。
三. 实验要求
实现顺序表的三个框架操作:随机生成,用已有顺序表初始化另一个顺序表,输入顺序表。
以及十个基本操作:在第i个元素之前插入元素,判断是否为空,求元素个数,取第i个元素,查找第一个与e满足compare()关系的元素,返回元素的前驱,返回后继,删除第i个元素,把一个顺序表赋值给另一个顺序表,置空顺序表。
四. 实验环境
3323机房
OS:Wxp
C环境:1、TC2.0
2、VC++ 6.0
五.运行结果
程序开始界面
框架操作:
随机生成顺序表(元素值为0到99之间的整数)
2. 用已有的顺序表初始化另一个顺序表
3. 输入顺序表
基本操作:
在第i个元素之前插入一个元素
2. 判断顺序表是否为空
3. 求顺序表中元素的个数
4. 取第i个元素
5. 查找第一个与之满足compare()关系的元素序号
6. 返回某元素的前驱
7. 返回某元素的后继
8. 删除第i个元素
9. 把一个顺序表复制给另一个顺序表
10. 把顺序表置空
11.顺序表的运用
六. 实验心得
熟悉最基本的数据类型——顺序表,同时我们让我们熟练C++的基本操作,模板的使用,以及模块化的设计思想。同时也运用顺序表做一些简单的运用,比如顺序表的并交差运算,学生管理系统等等。
在这次的实验中,我掌握了很多C++的特性,在运用顺序表时,由于水平的原因,只是把简单的并交差运算写完,我想通过以后的学习,我们能够将其实现学生管理系统。
在实验中我也遇到很多的问题,输入输出的重载,输出格式的控制等等,在以后的实验中吸取经验和教训,提高自己的水平。
五. 实验代码
基类:SqList.h
//myhead.h包含自己设定的一些常量和类型
#ifndef MYHEAD_H
#define MYHEAD_H
//#includeD:\数据结构C++\实验2\myhead.h
#includeD:\Users\fclz\Documents\Visual Studio 2010\Projects\数据结构C++\实验2\myhead.h
#endif
//顺序表的一些常量说明
#define LIST_MAX_SIZE 100
#define LISTINCERMENT 10
//随机数生成必须
#define _CRT_RAND_S
#include stdlib.h
#include stdio.h
#include limits.h
//顺序表数据结构的C++类的声明(基类)
template typename ElemType
class SqList
{
protected:
ElemType *elem;
int listSize;
int n;
public:
//构造函数,析构函数,拷贝构造函数的声明
SqList();
virtual ~SqList();
SqList(const SqListElemType otherL);
//顺序表的方法
//有序顺序表的折半查找
int bin_Search(ElemType key);
//把顺序表置空
void clear();
//删除第i个元素
Status deleteElem(int i,ElemType e);
//取第i个元素
int getElem(int i,ElemType e);
//求顺序表中元素的个数
int getLength();
//求顺序表存储空间的大小
int getListSize();
//在第i个元素之前插入一个元素
Status insert(int
文档评论(0)