按位置插入
void insert_pos(seq_p L,datatype value,int pos)
{
if(L==NULL){printf("表空\n");return;}
if(seq_full){printf("表满\n";return;}
if(pos>L->len||pos<0){printf("位置不合理\n");return;}
for(int i=L->len-1;i>=pos;i--)
{
L->data[i+1]=L->data[i];
}
L->data[pos]=value;
L->len++;
}
按位置删除
void del_pos(seq_p L,int pos)
{
if(L==NULL){return;}
if(seq_empty(L)){printf("表为空,无需删除\n");return;}
for(int i=pos+1;i<L->len;i++)
{
L->data[i-1] = L->data[i];
}
L->len--;
}
去重
void del(seq_p L)
{
int i,j;
if(L==NULL){printf("表为空\n");return;}
if(seq_empty){return;}
for(i=0;i<L->len;i++)
{
for(j=i+1;j<L->len;j++)
{
if(L->data[i]==L->data[j])
{
del_pos(L,j);
j--;
}
}
}
}