实验一:线性表的基本操作实现及其应用 

一、实验目的

1、 熟练掌握线性表的结构特点,掌握顺序表的基本操作。

2、 巩固 C++相关的程序设计方法与技术。

3、 学会使用顺序表解决实际问题。

二、实验内容 

1、顺序表的建立与操作实现 建立 n 个元素的顺序表(n 的大小和表里数据自己确定),实现相关的操作:输出,插 入,删除,查找等功能。编写完整程序实现,程序语言不限定,使用技术形式不定。

2、实际问题的解决(*) 使用顺序表来实现约瑟夫环问题。

三、实验步骤 

1、依据实验内容分别说明实验程序中用到的数据类型的定义;

2、相关操作的算法表达;

3、完整程序;

4、总结、运行结果和分析。

5、总体收获和不足,疑问等。

四、实验要求 

1、 按照数据结构实验任务书,提前做好实验预习与准备工作。

2、 加“*”为选做题。做好可加分。

3、 严格按照数据结构实验报告模板和规范,及时完成实验报告。

4、 在 CSDN 上建立个人博客,并在上面发文章形式上交作业 。

五、实验源代码

#include<iostream>
using namespace std;
const int MaxSize=10;
class SeqList
{
public:
SeqList(){length=0;}
SeqList(int a[],int n);
~SeqList(){}
void Insert(int i,int x);
int Delete(int x);
int Locate(int x);
void PrintfList();
private:
int data[MaxSize];
int length;

};

SeqList::SeqList(int a[],int n)
{
if(n>MaxSize)throw"参数非法";
for(int i =0;i<n;i++)
data[i]=a[i];
length=n;
}

void SeqList::Insert(int i,int x)
{
if(length>=MaxSize)throw "上溢";
if(i<1||i>length+1)throw "位置非法";
for(int j=length;j>=i;j--)
data[j]=data[j-1];
data[i-1]=x;
length++;
}

int SeqList::Delete(int i)
{
if(length==0)throw"下溢";
if(i<1||i>length)throw"位置非法";
int x=data[i-1];
for(int j=i;j<length;j++)
data [j-1]=data[j];
length--;
return x;
}

int SeqList::Locate(int x)
{
for(int i=0;i<length;i++)
if(data[i]==x)return i+1;
return 0;
}

void SeqList::PrintfList()
{
for(int i=0;i<length;i++)
cout<<data[i]<<" ";
cout<<endl;
}

void main()
{
int r[5]={1,2,3,4,5};
SeqList L(r,5);
cout<<"执行插入操作前数据为:"<<endl;
L.PrintfList();
try
{
L.Insert(2,3);
}
catch(char *s)
{cout<<s<<endl;}
cout<<"执行插入操作后数据为:"<<endl;
L.PrintfList();
cout<<"值为3的元素位置为:";
cout<<L.Locate(3)<<endl;
cout<<"执行删除第一个元素的操作,删除前数据为:"<<endl;
L.PrintfList();
try{L.Delete(1);}
catch(char *s)
{cout<<s<<endl;}
cout<<"删除后的数据为:"<<endl;
L.PrintfList();
}

实验一:线性表的基本操作实现及其应用相关推荐

  1. 实验一线性表的基本操作实现及其应用(JavaScript实现)

    实验一线性表的基本操作实现及其应用(JavaScript实现) 实验目的 熟练掌握线性表的结构特点, 掌握顺序表的基本操作. 巩固 C++相关的程序设计方法与技术. 学会使用顺序表解决实际问题. 实验 ...

  2. C++数据结构实验---线性表的基本操作

    实验一 线性表的基本操作 1.实验内容与要求 理解线性表的概念 设计一个线性表,分别用顺序存储结构和链式存储结构实现,完成线性表的构造.查找.插入.删除.输出等基本操作. 掌握两种存储结构的优缺点以及 ...

  3. 实验报告: 线性表的基本操作及应用

    实验报告: 线性表的基本操作及应用 实验内容 基本要求: (1)实现单链表的创建:(2)实现单链表的插入:(3)实现单链表的删除 (4)实现单链表的查找:(5)实现单链表的显示: /*Name:Lin ...

  4. 实验报告微型计算机拆卸顺序表,实验一线性表的顺序存储结构实验报告页.doc...

    实验一线性表的顺序存储结构实验报告页.doc 1 攀 枝 花 学 院 实 验 报 告 实验课程 数据结构 实验项目线性表的顺序存储 实验日期 系 班级 姓名 学号 同组人 指导老师 成绩 实验目的1. ...

  5. 数据结构实验--基于线性表的图书信息管理系统

    本文是依据数据结构习题解析与实验指导(李冬梅)一书中的第一个实验–基于线性表的图书信息管理系统所写的. 之所以写这个,是因为这个实验不仅涉及到线性表的结构设计,还包括一些线性表的基本操作,个人认为,做 ...

  6. 数据结构(C语言版)实验一 线性表

    C语言数据结构实验一 **实验要求:实验目的: 1.掌握线性表的定义: 2.掌握线性表的基本操作,如建立.查找.插入和删除等. 实验内容: 定义一个包含学生信息(学号,姓名,成绩)的的顺序表和链表,使 ...

  7. 实验一 线性表、堆栈和队列的操作与实现

    前言 记录实验,同时也是记录常见数据结构算法的实现. 广州大学学生实验报告 开课实验室:计算机科学与工程实验(电子楼418A) 学院 计算机科学与网络工程学院 实验课程 数据结构实验 实验项目 实验一 ...

  8. 线性表的顺序存储 c语言表达,线性表的基本操作顺序存储(C语言).doc

    线性表的基本操作顺序存储(C语言) #include#include#include#define LIST_INIT_SIZE/*线性表存储空间初始分配量*/#define LISTINCREMEN ...

  9. 本科课程【数据结构与算法】实验1——线性表的顺序表示及插入、删除操作(C++实现)

    大家好,我是[1+1=王], 热爱java的计算机(人工智能)渣硕研究生在读. 如果你也对java.人工智能等技术感兴趣,欢迎关注,抱团交流进大厂!!! Good better best, never ...

  10. C语言数据结构线性表上机实验报告,数据结构实验报告实验一线性表_图文

    数据结构实验报告实验一线性表_图文 更新时间:2017/2/11 1:23:00  浏览量:763  手机版 数据结构实验报告 实验名称: 实验一 线性表 学生姓名: 班 级: 班内序号: 学 号: ...

最新文章

  1. node sqlite 插入数据_安卓手机中的应用数据都保存在哪些文件中?
  2. win10html5无法播放,win10系统中网页中无法播放视频怎么办
  3. mysql slave 配置_【mysql5.6】 数据库主从(Master/Slave)配置记录
  4. Golang学习 - bufio 包
  5. .6-Vue源码之AST(2)
  6. 为知笔记:优秀国产知识管理软件的使用心得
  7. Githug第42关rebase_onto通关秘籍
  8. IDEA 惊天 bug:进程已结束,退出代码 1073741819
  9. 中兴通讯与寒武纪合作 加速5G时代边缘智能
  10. C使用递归实现前N个元素的和
  11. jQuery插件之:对话框
  12. PrefTest性能测试解决方案 -- C/S结构应用系统的压力测试
  13. android apk自动安装包下载,Android 下载Apk并安装
  14. Google浏览器插件
  15. 怎么用计算机sinB=0.67,三角函数练习题(附详细解答过程)
  16. Pytorch-《Deep learning with pytorch》1.2.1训练imagenetmini
  17. RabbitMQ-基础(二)
  18. ucl计算机学院位置,2017伦敦大学学院设施及地理位置介绍
  19. 细讲逻辑斯蒂回归与朴素贝叶斯、最大熵原理的爱恨交织(五)
  20. 一篇搞懂python文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)

热门文章

  1. 【上网】微信能上网,谷歌浏览器上不了网,怎么解决?
  2. 将U盘分成 启动盘+文件存储区
  3. win7显示u盘efi分区_win7下找不到u盘efi分区
  4. for循环练习题-编写程序,根据输入行数,输出金字塔图案
  5. 【EI稳定检索】第二届计算机科学、电子信息工程和智能控制技术国际会议(CEI 2022)
  6. 微信推送封面尺寸_微信公众平台图片尺寸是多少?
  7. 【sdx62】uci软件包文件中新增脚本文件functions.sh但未打包到文件系统解决方案
  8. 小米 OJ 编程比赛 02 月常规赛 (Carryon 数数字)
  9. 圆锥体积等于1/3圆柱体积咋来的
  10. 关于车载 时间同步 的理解