如下代码:
//插入元素:在指定的位置插入给定的值
//插入的位置为K:0 -- n-1
//顺序表:不满
//pList:目标顺序表,x待插入的元素,k插入的位置
int InsertElemSqList(SequenList *pList,ElemType x,int k)
{
int j;
//顺序表尚未填满
if(pList->last >= LIST_SIZE-1)
return FALSE;
if(k<0||k> (pList->last+1))
return FALSE;
for(j=pList->last;j>=k;j--)
{
pList->data[j+1] = pList->data[j];
}
pLisL[k] = x;
pList->last = pList+1;
return TRUE;
}
//删除,删除指定位置的值或者是删除给定的值
//pList:目标顺序数组,k表示需要删除的位置
int ElemSqListDelete(SequenList *pList,int k)
{
if(k>=0&&k<pList->last)&&(pList->last !=0))
{
for(int j =k;j<pList->last;j++)
{
pList[data[j] = pList->data[j+1];
}
pList->last--;
return TRUE;
}
}
//遍历元素:从头到尾扫描线性表
void showSeqList(SequenList *pList)
{
for(int i =0;i<pList->last;i++)
{
printf("%d",pList->data[i]);
}
printf("******************\n");
}