线性表的代码

#include 
using namespace std;
class List
{
public:
	List(int liang);
	~List();
	void clearlist();
	bool emptylist();
	int listlength();
	bool getelem(int i,int *e);
	int locateelem(int *e);
	bool beforeelem(int *weixun,int *qianzhi);
	bool laterelem(int *weixun,int *houzhi);
	bool insertelem(int i,int *e);
	bool delelem(int i,int *e);
	void print();
private:
	int *zhi;//用数组保存数值 
	int size;//线性表容量 
	int len;//线性表长度 
	
};
List::List(int liang)//创建线性表 
{
	zhi=new int[liang];
	size=liang;
	len=0;
}
List::~List()//销毁线性表 
{
	delete []zhi;
	zhi=NULL;
}
void List::clearlist()//清空线性表 
{
	len=0;
}
bool List::emptylist()//判断线性表是否为空 
{
	if(0==len)
	{
		return true;
	}
	return false;
}
int List::listlength()//获取线性表长度 
{
	return len;
}
bool List::getelem(int i,int *e)//获取指定元素 
{
	if(i<0 || i>=size)
	{
		return false;
	}
	*e = zhi[i];
	return true;
}
int List::locateelem(int *e)//获取指定元素的位序 
{
	for(int i=0;ilen)
	{
		return false;
	}
	for(int k=len-1;k>=i;k--)
	{
		zhi[k+1]=zhi[k];
		
	}
	zhi[i]= *e;
	len++;
	return true;
}
bool List::delelem(int i,int *e)//删除第i个位置的元素 
{
	if(i<0||i>len)
	{
		return false;
	}
	*e =zhi[i];
	for(int k=i+1;kinsertelem(0,&e1);
	l1->insertelem(1,&e2);
	l1->insertelem(2,&e3);
	l1->insertelem(3,&e4);
	l1->insertelem(4,&e5);
	l1->insertelem(5,&e6);
	l1->insertelem(6,&e7);
	//cout<listlength()<delelem(0,&temp);
//	l1->clearlist();
	l1->print();
	l1->getelem(2,&temp);
	cout<<"2"<

你可能感兴趣的:(数据结构代码)