循環リスト
端に一本鎖末端は、終端ノード・ポインタ・フィールドは、円形のリンクリストと呼ばれるヘッドノード、ロビン・チェーン構成によってヌルポインタをポイントします。
ヌル循環リストは、ヘッドノードのヘッドノードのポインタです。
環状の非空のリスト、ヘッド素子ポイントノード非ヘッドノード:
テーブルは空と非空リストの処理は、追加のヘッドノードを必要とします。
ノード挿入:ノードが第3のノードで、元のドメインに、xがノードSに割り当てられている設定値、ノードセットPの第2のノードは、ノードポインタP点が設けられている挿入する必要がありますノードS、P Sリダイレクトノードからドメイン後継ノードポインタ。
コードの実装:
void Insert(int i , ElemType x){
P = L; j = 0;
while(p! = L && j<i-1){ //遍历链表,查找目标位置
p = p->next;
j++;
}
if(p == null)
return 0;
else{ //在指定位置插入结点
s = (List)malloc(sizeof(struct LNode));
s->data = x;
s->next = p->next;
p->next = s;
}
}
条件循環リストをサイクリング:P = L; //ないサイクルテーブルポインタがされていれば!
開始ノードと端末ノードを検索します。
開始ノード:L->次の
ノードを終了:単一リンクリスト・トラバーサル再び、テーブルの長さになるまで、時間複雑度はO(N)です。
循環リストのテールポインタ付き
開始ノード:リア>ネクスト>次の
終了ノード:リア