シーケンステーブル要素の検索、挿入、削除

シーケンステーブル要素を検索する

シーケンステーブルで値が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 
}

おすすめ

転載: blog.csdn.net/UCB001/article/details/95635837