下载此文档

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


文档分类:高等教育 | 页数:约35页 举报非法文档有奖
1/35
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/35 下载此文档
文档列表 文档介绍
-
. z.
深 圳 大 学 实 验 报 告
课程名称: 数据构造实验与课程设计
实验工程名称: 验1——顺序表的循环移位
题目描述
顺序表的移位是循环移位,例如顺序表:1,2,3,4,5,6。如果左移1位,即原来的头元素移动到末尾,其它元素向左移1位,变成2,3,4,5,6,1。同理,如果右移1位,即原来的尾元素移动到头,其它元素向右移1位,变成6,1,2,3,4,5。以下是移位的多个例子:
-
. z.
原数据: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
-
. z.
实验步骤与过程:
思路:
顺序表类定义
、插入、删除、查找等功能的实现

源代码:
A:
*include<iostream>
using namespace std;
class List
{
private:
int *elem; //数组元素
int listsize; //顺序表最大长度
int length; //顺序表当前长度
public:
List(int size); //构造函数
-
. z.
~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() //获取顺序表的实际长度
{
-
. z.
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;
}
int List::ListDelete(int i) //删除一个元素,返回删除的元素
{
if (length==0)
-
. z.
return 0;
if (i<1 || i>length)
return 0;
i

数据结构实验报告实验一 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数35
  • 收藏数0 收藏
  • 顶次数0
  • 上传人sdnmy78
  • 文件大小79 KB
  • 时间2022-02-17
最近更新