1 / 19
文档名称:

数据结构实验报告实验一.doc

格式:doc   大小:90KB   页数:19页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构实验报告实验一.doc

上传人:1006108867 2022/6/22 文件大小:90 KB

下载得到文件列表

数据结构实验报告实验一.doc

相关文档

文档介绍

文档介绍:-
. z.
深 圳 大 学 实 验 报 告
课程名称: 数据构造实验与课程设计
实验工程名称: 的头元素移动到末尾,其它元素向左移1位,变成2,3,4,5,6,1。同理,如果右移1位,即原来的尾元素移动到头,其它元素向右移1位,变成6,1,2,3,4,5。以下是移位的多个例子:
原数据:1,2,3,4,5,6
左移3位:4,5,6,1,2,3,与原数据比照
右移4位:3,4,5,6,1,2,与原数据比照
请编写程序实现顺序表的循环移位操作
输入
第一行输入n表示顺序表包含的·n个数据
第二行输入n个数据,数据是小于100的正整数
第三行输入移动方向和移动的位数,左移方向为0,右移方向为1
第三行输入移动方向和移动的位数,左移方向为0,右移方向为1
输出
第一行输出创立后,顺序表内的所有数据,数据之间用空格隔开
-
. z.
第二行输出执行移位操作后,顺序表内的所有数据,数据之间用空格隔开
第三行输出执行移位操作后,顺序表内的所有数据,数据之间用空格隔开
如果发现输入的移动方向或位数不合法,不执行移位操作,输出error
样例输入
5
11 22 33 44 55
0 2
1 4
样例输出
11 22 33 44 55
33 44 55 11 22
44 55 11 22 33
实验步骤与过程:
思路:
顺序表类定义
、插入、删除、查找等功能的实现

源代码:
A:
*include<iostream>
using namespace std;
class List
{
private:
int *elem; //数组元素
int listsize; //顺序表最大长度
-
. z.
int length; //顺序表当前长度
public:
List(int size); //构造函数
~List(); //析构函数
int ListLength(); //获取顺序表的实际长度
int ListInsert(int i,int e); //插入一个元素
int ListDelete(int i); //删除一个元素,返回删除的元素
int GetElem(int i); //获取一个元素,返回元素值
};
List::List(int size) //构造函数
{
listsize=size;
length=0;
elem=new int[listsize];
}
List::~List() //析构函数
{
delete[]elem; //回收空间
}
int List::ListLength() //获取顺序表的实际长度
{
return length;
}
int List::ListInsert(int i,int e) //插入一个元素
{
if (length==listsize)
return 0; //顺序表已满
if (i<1 || i>length+1)
return 0; //i值不合法
if (i==length+1)
elem[length]=e;
else
for (int j=length;j>i-1;j--)
elem[j]=elem[j-1]; //位置i后面的元素全部后移一位
elem[i-1]=e;
length++;
return 1;
}
-
. z.
int List::ListDelete(int i) //删除一个元素,返回删除的元素
{
if (length==0)
return 0;
if (i<1 || i>length)
return 0;
int temp=elem[i-1];
for (int j=i-1;j<length;j++) //位置i后面的元素全部前移一位
elem[j]=elem[j+1];
length--;
return temp;
}
int List::GetElem(int i) //获取一个元素,返回元素值
{