?? 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 + -