//顺序表的操作
List MakeEmpty()
{
List head=(List)malloc(sizeof(struct LNode));
head->Last=0;
return head;
}
//返回线性表中x的位置
Position Find( List L, ElementType X )
{
if(!L) return ERROR;
for(int i=0;i<L->Last;i++)
{
if(L->Data[i]==X) return i;
}
return ERROR;
}
//将x插入在位置p并返回true 空间已满则返回false
bool Insert( List L, ElementType X, Position P )
{
if(!L) return false;
if(L->Last==MAXSIZE)
{
printf("FULL");
return false;
}
if(P<0||P>L->Last)//>就无法插入
{
printf("ILLEGAL POSITION");
return false;
}
for(int i=L->Last;i>P;i--)
L->Data[i]=L->Data[i-1];
L->Data[P]=X;
L->Last++;
return true;
}
//将位置p的元素删除并返回true
bool Delete( List L, Position P )
{
if(!L) return false;
if(P>=L->Last||P<0)
{
printf("POSITION %d EMPTY",P);
return false;
}
L->Last--;
for(int i=P;i<L->Last;i++)
L->Data[i]=L->Data[i+1];
return true;
}
顺序表的操作
最新推荐文章于 2023-09-22 11:02:17 发布