⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 seqlist.cpp

📁 是用来排列顺序的程序
💻 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 + -