📄 seqlist.cpp
字号:
#include<iostream.h>
const int MAX_SIZE=20;
class seqlist
{
public:
void Add(int x);//添加元素
int Locate(int x);//查找第x个元素
void Insert(int i,int x);//插入元素
void Delete(int i);//删除元素
private:
int data[MAX_SIZE];
int length;
};
//添加元素
void seqlist::Add(int x)
{
int j=0,length=0,size;
cout<<"请输入添加元素个数:"<<endl;
cin>>size;
for (j=0;j<size;j++)
{
cout<<"请输入添加元素:";
cin>>data[j];
length++;
}
cout<<"添加元素完毕"<<endl;
data[MAX_SIZE]=length;
cout<<"表长现在为"<<length<<endl;
for(j=0;j<length;j++)
{
cout<<data[j]<<" ";
}
cout<<endl;
}
//在顺序表中查找元素
int seqlist::Locate(int x)
{
int i;
cout<<"请输入要查找的元素值"<<endl;
cin>>x;
if(length==0)
cout<<"表为空,无法查找!"<<endl;
else if (length>MAX_SIZE)
cout<<"溢出!"<<endl;
else
{
for(i=0;i<=length;i++)
if(data[i-1]==x)
cout<<"位置是:"<<i<<endl;
else cout<<"no such item found"<<endl;
}
return i;
}
void seqlist::Insert(int i,int x)//在指定位置插入指定元素
{
cout<<"添加位置:"<<endl;
cin>>i;
cout<<"添加元素:"<<endl;
cin>>x;
if (length>=MAX_SIZE)
cout<<"表已满"<<endl;
else if (i>=MAX_SIZE||i<0)
cout<<"位置错误"<<endl;
else if (i>length)
data[length]=x;
else
{
for(int j=length;j>=i;j--)
{
data[j]=data[j-1];
}
data[i-1]=x;
length++;
data[MAX_SIZE]=length;
cout<<"当前顺序表:";
for(int k=0;k<length;k++)
cout<<data[k]<<" ";
cout<<endl;
}
}
//在顺序表中删除元素
void seqlist::Delete(int i)
{
int x;
cout<<"请输入要删除的位置"<<endl;
cin>>i;
if(length==0)
{
cout<<"表空,无法删除!"<<endl;
}
else if(i<1 || i>length)
{
cout<<"位置不正确!"<<endl;
}
else
{
cout<<"要删除的元素是:"<<endl;
x=data[i-1];
for(int j=i;j<=length;j++)
data[j-1]=data[j];
length--;
cout<<x<<endl;
cout<<"当前顺序表:";
for(int k=0;k<length;k++)
cout<<data[k]<<" ";
cout<<endl;
}
}
void main()
{
seqlist L;
int i=0,x=0,select,k;
L.Add( i);
do
{
cout<<"cin your select:1(insert)/2(delete)/3(locate)?"<<endl;
cin>>select;
switch(select)
{
case 1:
L.Insert(i,x);
break;
case 2:
L.Delete(i);
break;
case 3:
L.Locate(x);
break;
default:cout<<"选择错误!!!"<<endl;
}
cout<<"是否继续:1(是)"<<endl;
cin>>k;
}while(k==1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -