- 1、本文档共82页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 81
实 验 报 告
实验课程: 数据结构C++语言的描述
学生姓名:
学 号:
专业班级:
年 月 日
目 录
实验一 顺序表……………………………………………………2
实验二 非循环单链表……………………………………………17
实验三 链队………………………………………………………33
实验四 排序………………………………………………………43
南昌大学实验报告
(1)顺序表
学生姓名: 学 号: 专业班级:
实验类型:□ 验证 □ 综合 ■ 设计 □ 创新 实验日期: 实验成绩:
一. 实验目的
掌握顺序表的逻辑结构、存储结构、操作,并通过 C++编程实现。
二. 问题描述
线性表是由n(n≥0)个元素(结点)a1, a2, …, an组成的有限序列,其中ai中的i称为该数据元素的位置(序号),n为数据元素的个数(表的长度),当n等于0时称为空表。
按逻辑次序依次把数据元素存放在一组连续的地址存储单元里的线性表称为顺序表。在这里,我们通过C++中的动态数组来实现顺序表的存放,并通过建立顺序表类实现它的各种操作。
三. 实验要求
实现顺序表的三个框架操作:随机生成,用已有顺序表初始化另一个顺序表,输入顺序表。
以及十个基本操作:在第i个元素之前插入元素,判断是否为空,求元素个数,取第i个元素,查找第一个与e满足compare()关系的元素,返回元素的前驱,返回后继,删除第i个元素,把一个顺序表赋值给另一个顺序表,置空顺序表。
四. 实验环境
PC微机,Windows操作系统,Visual Studio 2010。
五. 实验代码
基类: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 i,ElemType e);
//判断顺序表是否为空
bool isEmpty();
//查找第1个与e满足compare关系的元素的序号
int locateElem(ElemType e,Status(*compare)(ElemType,ElemType));
//返回某个元素的后继
Status nextElem(ElemType e,ElemType next_e);
//重载复制运算符
SqListElemType operator =(SqListElemType rightL);
//返回某个元素的前驱
Status priorEl
您可能关注的文档
- 历年考研数学真题(88年—11年共24套).doc
- 历年山西申论真题全解.doc
- 历年社会学考研真题.doc
- 历年深圳市数学中考试题(含答案).doc
- 历年数学分析试题.doc
- 历年推理判断.doc
- 历年招教考试试题.doc
- 历年真题文科数学答案,.doc
- 历年中考数学函数压轴80题.doc
- 历年自考数学真题(2010-2014).docx
- GB/T 32151.38-2024温室气体排放核算与报告要求 第38 部分:水泥制品生产企业.pdf
- 中国国家标准 GB/T 32151.38-2024温室气体排放核算与报告要求 第38 部分:水泥制品生产企业.pdf
- 《GB/T 22069-2024燃气发动机驱动空调(热泵)机组》.pdf
- GB/T 22069-2024燃气发动机驱动空调(热泵)机组.pdf
- 中国国家标准 GB/T 22069-2024燃气发动机驱动空调(热泵)机组.pdf
- 中国国家标准 GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法.pdf
- GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法.pdf
- 《GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法》.pdf
- GB/T 1148-2024内燃机 铝活塞.pdf
- 中国国家标准 GB/T 1148-2024内燃机 铝活塞.pdf
文档评论(0)