顺序表基本操作的实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、顺序表基本操作的实现

[问题描述] 当我们要在顺序表的第i个位置上插入一个元素时,必须先将顺序表中第i个元素之后的所有元素依次后移一个位置,以便腾空一个位置,再把新元素插入到该位置。若是欲删除第i个元素时,也必须把第i个元素之后的所有元素前移一个位置。

[基本要求] 要求生成顺序表时,可以键盘上读取元素,用顺序存储结构实现存储。

#include

#include"iostream.h"

#define MaxSize 25

typedef int DataType;

class SeqList

{

DataType list[MaxSize];

int length;

public:

SeqList(){length=0;}

void SLCreat(int n);//创建顺序表

void SLInsert(int i,DataType x);//在顺序表L中的第i个位置插入数据元素x

void SLDelete(int i); //在顺序表L中的第i个位置删除数据元素

DataType SLGet(int i); //获取第i个位置的元素位置

DataType SLSum();//求和

int SLIsEmpty();//判断顺序表是否为空

void SLPrint();//将顺序表显示在屏幕上

};

//创建顺序表

void SeqList::SLCreat (int n)

{

DataType x;

cout<<"请输入数据元素值: ";

for(int i=0;i

{

cin>>x;

list[i]=x;

length++;

}

}

//在顺序表L中的i位置插入数据元素x void SeqList::SLInsert (int i,DataType x) {

int k;

if(length>=MaxSize)

cout<<"表已满,无法插入!"<length)

cout<<"参数i不合理!"<

else

{

for(k=length;k>i;k--)

{

list[k]=list[k-1];

}

list[i]=list[i-1];

list[i-1]=x;

length++;

}

}

//删除第i个位置的数据元素

void SeqList::SLDelete (int i)

{

int k;

if(!SLIsEmpty())

cout<<"表已空,无法删除!"<length)

cout<<"参数i不合理!"<

{

for(k=i-1;k

list[k]=list[k+1];

length--;

}

}

//获取第i个位置的元素的数值DataType SeqList::SLGet (int i) {

if (i<0||i>length)

{

cout<<"参数i不合理!"<

}

else

return list[i-1];

}

//判断顺序表是否为空

int SeqList::SLIsEmpty ()

{

if(length<=0)return 0;

else return 1;

}

//将顺序表显示在屏幕上void SeqList::SLPrint () {

if(!SLIsEmpty())

cout<<"空表!"<

for(int i=0;i

cout<

cout<

}

//求和

DataType SeqList::SLSum() {

int m=0;

for(int i=0;i

{

m=m+list[i];

}

return m;

}

void main()

{

SeqList mylist;

int i,n,flag=1,select;

DataType x;

cout<<" 1.建立顺序表\n";

cout<<" 2.求第i个位置上的数值\n";

cout<<" 3.在第i个位置前上插入数值元素x\n";

cout<<" 4.删除第i个位置上的数值\n";

cout<<" 5.该顺序表上各元素之和\n";

cout<<" 6.输出显示\n";

cout<<" 7.退出\n";

cout<<"特别说明:第一次请选择1,以后就不要选择1了!"<

{

cout<<"请选择: ";

cin>>select;

switch(select)

{

case 1:

cout<<"请输入顺序表长度:";

cin>>n;

相关文档
最新文档