线性表的实现(c语言)

线性表的实现(c语言),第1张

#include
#include
#include
#define maxsize 100//顺序表可能达到的长度 
#define Status int 
#define ElemType int
#define overflow -2
#define ok 1
#define error 0

typedef struct
{
	ElemType *elem;//存储空间的基地址 
	int length;//当前长度 
	int listsize;//当前线性表的存储容量 
}Sqlist;

int initlist(Sqlist &L)//初始化,构建空的线性表 
{
	L.elem=new ElemType[maxsize];//为顺序表分配数组空间 
	if(!L.elem)exit(overflow);//存储失败退出 
	L.length=0;//空表长度为0 
	L.listsize=maxsize;
	return ok;
}

Status Listinsert(Sqlist &L,int i,ElemType e)//插入 
{ 
	if(i<1||i>L.length+1)return error; //判断i值是否合理 
	if(L.length ==maxsize)return error;
	for(int j=L.length-1;j>=i-1;i--)//插入之后后面元素后移 ,i-1才是实际下标 //
	{
		L.elem [j+1]=L.elem[j];
	}
	L.elem[i-1]=e;//在下标i-1位置插入新的数据元素e 
	++L.length;//L的长度加1 
	return ok;
}

Status Listdelete(Sqlist &L,int i)//删除 
{
	if(i<1||i>L.length)return error;//断i值是否合理 
	for(int j=i;j<=L.length-1;j++)//插入之后后面元素前移 
	L.elem[j-1]=L.elem [j];
	--L.length;
	return ok;
}

int main()
{
	Sqlist L;
	initlist (L);
	Listinsert(L,3,10);
	Listdelete(L,4);
	return 0; 
}


 


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/563063.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-02
下一篇 2022-04-02

发表评论

登录后才能评论

评论列表(0条)

保存