書式#include <iostreamの> の#include <ベクトル> std名前空間を使用しました。 //结构定义 の#define maxSizeの50 のtypedef構造体lノード{ intデータ。 lノード*次の; } lノード、* LINKLIST。 //头插法建立单链表 LINKLIST List_HeadInsert(LINKLIST&L){ lノード* S。 int型のelem; //建立头结点 L =新しいlノード。 L->次= nullptr。 cinを>> ELEM。 (!ELEM = -1){ながら、 S =新しいlノード。 S->データ= elemは。 S->次= L->次。 L->次= S。 cinを>> ELEM。 } Lを返します。 } リストの//端単一補間を確立します LINKLIST List_TailInsert(LINKLIST&L){ L =新しいlノード。 L->次= nullptr。 lノード* S * R = L。 int型のelem; cinを>> ELEM。 (!ELEM = -1){ながら、 S =新しいlノード。 S->データ= elemは。 R->次= S; R = Sであり; cinを>> ELEM。 } R->次= nullptr。 Lを返します。 } //按序号查找某个节点 lノード* GetElem(LINKLIST&L、IをINT){ (I == 0){もし 戻りL。 } (I <0){もし 戻りnullptr。 } lノード* P = L。 しばらく(P = nullptr && I - !){ P = P - > } COUT << P->データ。 Pを返します。 } //ルックアップテーブル値ノードによって lノード* LocateElem(LINKLIST&L、int型E){ IF(L->次== nullptr){ 戻りnullptr。 } lノード* P = L->次。 一方、(P = nullptr && P->データ= E!){ P = P->次。 } Pを返します。 }