C言語のデータ構造リストの概要

ウェイリンクリスト(ヘッドレスサイクル)
1.ヘッドプラグ

cur->next=head;
head=cur;

プラグ後2

cur->next=pos->next;
pos->next=cur;

3.ヘッド削除

tmp=head->next;
free(head);
head=tmp;

4.穿刺した後、

tmp=pos->next;
pos->next=tmp->next;
free(tmp);

5トラバースヘッド

for(cur=head;cur;cur=cur->next)
{
    //通过cur遍历链表
}

6.リバース単鎖
<1>

oldhead->next=tmp->next;
tmp->next;=head;
head=tmp;
tmp=oldhead->next;

<2>

nt=nt->next;
cur->next==pre;
pre=cur;
cur=nt;

7.リンクポイントを見つけるために円形のリンクリスト
(1)は、2つのポインタ、第一段階、二回移動見つけるために、
開始ノードを(2)それらの遭遇記録ノードを、そのノードが満たされたと右揃え
(3)右位置合わせの後、ノードの最初の出会いを見つけるために、一緒に横断し、そのリングノードであります

二重リンクリスト(ループリード)
1.操作

pos->next=cur;
cur->prev=pos;
tmp->prev=cur;
cur->next=tmp;

2.操作を削除します。

pos->prev->next=pos->next;
pos->next->prev=pos->prev;
free(pos);

3.トラバーサル操作

for(cur->head->next;cur!=head;cur=cur->next)
{
     //cur进行遍历
}

4.マージ演算
値1比較CUR1のCUR2と、比較的小さな、次いで逆方向ジャンプが直接CUR1場合
2の値が比較的小さい場合には2を、それがノード1の前のノードの前に挿入され、次に、2 2でありますバックジャンプ
2のうち、サイクルの終わり場合3を、次いで直接エンド
4.サイクル、1つのアウトの端部は、次いで、残りのすべてのノードが2 1の端部に挿入された場合

C言語のデータ構造リストの概要

おすすめ

転載: blog.51cto.com/14232799/2422502