シーケンステーブル要素を検索する
シーケンステーブルで値がeである要素を見つけ、その添え字を返します
int findElem(List *l,int e)
{
int i;
for(i=0;i<l->length;++i)
{
if(l->data[i]==e)
return i+1; //返回e的位置
}
return 0; //没找到返回0
}
シーケンステーブル挿入要素
シーケンステーブルのp(1 <= p <= length + 1)位置の前に要素eを挿入します。pの入力が正しくない場合は、挿入に失敗したことを意味する0を返します。pの入力が正しい場合は、シーケンステーブルのp番目以降の要素を1つ右に移動して新しい要素を挿入する場所を作成し、シーケンステーブルの長さを1増やします。 、操作は1を正常に返します。
int insertElem(List *l,int p,int e)
{
int i;
if(p<1||p>l->length+1||l->length==MAX)
return 0; //p的位置错误或长度不够时返回0
for(i=l->length;i>=p;i--)
{
l->data[i]=l->data[i-1]; //元素后移
}
l->data[p-1]=e; //把e插入
(l->length)++; //表长加1
return 1; //插入成功返回1
}
シーケンステーブル削除要素
シーケンステーブルlの添え字p(1 <= p <= length)の要素を削除し、1を正常に返します。それ以外の場合は、0を返します。テーブル内の添え字がpである要素を削除するには、その後ろの要素を1つ前に移動し、位置pの要素を上書きします。
int deleteElem(List *l,int p)
{
int i;
if(p<1||p>l->length)
return 0; //p的位置错误返回0
for(i=p;i<=l->length;i++)
{
l->data[i-1]=l->data[i]; //元素前移
}
(l->length)--; //表长减1
return 1; //删除成功返回1
}