リニアテーブル操作シーケンステーブルを定義します。

typedef int型位置; typedefは構造体lノード・リスト、構造体lノード{のElementTypeデータ[MAXSIZE];位置最終;}; / *初期化* /リストMakeEmpty(){リストL; L =(一覧)はmalloc(はsizeof(構造体lノード)) ; L->最後= -1;戻りL;} / * * /の#define ERROR -1位置検索(リストL、のElementType X)iが0 = {位置を求める。一方、(I <= L->最終&& L- >データ[I] = X)は、i ++ ;! IF(I> L->最後)のリターンエラー; / *見つからない場合は、* /そうでなければ、エラーメッセージを返すリターンiは、/ *戻り格納場所を見つけます* /} / *挿入* / / *注:ビデオコースはPパラメータの挿入位置が異なる、ビデオプログラムはランクの配列であるI(1から始まる)、P(0から始まる)インデックス位置に格納され、2 1 * / BOOLインサート(リストL、のElementType X、位置P)との間の差によって、{/ *は、指定された位置Pの前に新しい要素X * /位置I Lを挿入し、IF(L->最後== MAXSIZE-1){ / *テーブルがいっぱいである、* /のprintf( "完全なリスト")を挿入することはできません。戻り偽;}(P <0 || P> L->場合最後+ 1){/ * * /のprintf( "無効な位置")の挿入位置の妥当性を確認し、戻り偽;}(iはL->最後に=ため、I> = P; i--)L->データ[I + 1] = L->データ[I]; / *要素の順序とそれに続く後進位置P * / L->データ[P] = X; / *新しい要素* / L->最後を挿入++ ; / *最後の静止点を最後の要素に* / trueを返す;} / *削除* / / *注:ビデオコースはPパラメータ消失位置が異なる、ビデオ・プログラムは、I(1から始まる)ランクの配列であり、もし(P <0; Pはインデックス位置に格納されている場合1 * / BOOL削除(リストL、位置P){/ * * /位置に位置P Lから指定された要素を削除Iとの間の差の両方、(0から始まります) || P> L->最終){/ *空のテーブルの有効性、および削除位置をチェック* /のprintf(P "%dの位置要素が存在しない")、返り偽;}(iは= P + 1のために、私<= L->最後; I ++)L->データ[I-1] = L->データ[I]; / *位置Pが移動する要素1の順序前方および後+ * / L-> Last-- ; / *最後の静止点の最後の要素に* / trueを返します;}データ[I + 1] = L->データ[i]は、要素後続の後方への動きの/ * Pの位置及び順序* / L->データ[P] = X; / *新しい要素インサート* / L->最後++; / *最後の静止点最後の要素に* / trueを返す;} / *削除* / / *注:私はビット列の配列であるビデオコースはPパラメータ消失位置が異なる、ビデオコース(1から始まります) 、Pはインデックス位置に格納されている場合1 * / BOOL削除(リストL、位置P){/ * * /位置に位置P Lから指定された要素を削除Iとの間の差の両方、(0から始まる)、IF(P < 0 || P> L->最終){/ *空のテーブルの有効性、および削除位置をチェック* /のprintf(P "%dの位置要素が存在しない")、返り偽;}(iはP + 1 =ため、 I <= L->最後; I ++)L->データ[I-1] = L->データ[I]; / *位置P + 1つの要素前方に移動させるために、後* / L->直前に入って - ;最後の要素へ/ *最後の静止点が* / trueを返します;}データ[I + 1] = L->データ[i]は、要素後続の後方への動きの/ * Pの位置及び順序* / L->データ[P] = X; / *新しい要素インサート* / L->最後++; / *最後の静止点最後の要素に* / trueを返す;} / *削除* / / *注:私はビット列の配列であるビデオコースはPパラメータ消失位置が異なる、ビデオコース(1から始まります) 、Pはインデックス位置に格納されている場合1 * / BOOL削除(リストL、位置P){/ * * /位置に位置P Lから指定された要素を削除Iとの間の差の両方、(0から始まる)、IF(P < 0 || P> L->最終){/ *空のテーブルの有効性、および削除位置をチェック* /のprintf(P "%dの位置要素が存在しない")、返り偽;}(iはP + 1 =ため、 I <= L->最後; I ++)L->データ[I-1] = L->データ[I]; / *位置P + 1つの要素前方に移動させるために、後* / L->直前に入って - ;最後の要素へ/ *最後の静止点が* / trueを返します;}位置P){/ * Lから要素の指定された位置Pを削除* /位置I、正当なら(P <0 || P> L->最終){/ *リストをチェックし、空のロケーションを削除* /のprintf( 、Pの "要素のd位置が存在しない%");戻り偽;}(iはP + 1 =ため、I <= L->最後; I ++)L->データ[I-1] = L->データ[I ];フォワード以降* / L-> Last--を移動させるために/ *位置P + 1つの要素; / *最後の静止点最後の要素に* / trueを返します;}位置P){/ * Lから要素の指定された位置Pを削除* /位置I、正当なら(P <0 || P> L->最終){/ *リストをチェックし、空のロケーションを削除* /のprintf( 、Pの "要素のd位置が存在しない%");戻り偽;}(iはP + 1 =ため、I <= L->最後; I ++)L->データ[I-1] = L->データ[I ];フォワード以降* / L-> Last--を移動させるために/ *位置P + 1つの要素; / *最後の静止点最後の要素に* / trueを返します;}

おすすめ

転載: www.cnblogs.com/carpe-diem123/p/12114558.html