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

📄 2顺序表.cpp

📁 数据结构的C++表述
💻 CPP
字号:
#include <iostream.h>
#define MaxSize 100
//顺序表存储结构的定义
struct seqlist
{
	int data[MaxSize];
	int last;
};
//顺序表的创建
seqlist* Create()
{
	int a,i=0;
	seqlist *p;
	p=new seqlist;
	cout<<"创建一无序顺序表,请输入数据,以-1结束:"<<endl;
	cin>>a;
	while(a!=-1)
	{
		if(i>=MaxSize-1)
		{
			cout<<"数据以满,无法输入 ";
			break;
		}
		p->data[i++]=a;
		cin>>a;
	}
	p->last=i-1;
	return p;
}
int Insert_SeqList(seqlist *L,int i,int x)
{
	int j;
	if(L->last==MaxSize-1)
	{
		cout<<"表满!";
		return(-1);
	}
	if(i<1||i>(L->last+1))
	{
		cout<<"位置错!";
		return(0);
	}
	if(i==L->last+2)
		L->data[L->last+1]=x;
	else
	{
		for(j=L->last;j>=i-1;j--)
			L->data[j+1]=L->data[j];
		L->data[i-1]=x;
	}
	L->last++;
	return 1;
}
int Delete_SeqList(seqlist *L,int i)
{
	int j;
	if(i<1||i>(L->last+1))
	{
		cout<<"不存在第i个元素!";
		return(0);
	}
	for(j=i-1;j<=L->last-1;j++)
		L->data[j]=L->data[j+1];
	L->last--;
	return 1;
}
void Print(seqlist *L)
{
	cout<<"顺序表中数据为:";
	for(int i=0;i<=L->last;i++)
		cout<<L->data[i]<<" ";
	cout<<endl;
}
void main()
{
	seqlist *t;
	int i,x;
	t=Create();
	Print(t);
	cout<<"输入插入数据及其位置:";
	cin>>x>>i;
	Insert_SeqList(t,i,x);
	Print(t);
	cout<<"输入删除数据的位置:";
	cin>>i;
	Delete_SeqList(t,i);
	Print(t);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -