リストトラバーサル(1)

 

リストトラバーサル
 
    
/ * ------------------------------------ * /
の#include
" stdio.hの "
の#include
" STDLIB.H 構造体LLIST { INT NUM; CHAR 名[ 10 ]; 構造体LLIST * 次に; }; typedefは構造体LLISTノードと、ノードのtypedef * 、LLink ,; / * --------------- - ----------------リストを作成する* / 、LLink、createllist(){ 、LLink、ヘッドと、LLink、PTR、PTr1は、int型Iが; / * 最初のノードを作成します* /






















ヘッド
= (、LLink、)はmalloc( はsizeof (ノード));
IF ヘッド)
リターン NULL;
のprintf(
" 6つの郵便のデータを入力します:N- \ " );
のprintf(
" ==>番号を入力してください " );
scanf関数(
" Sの% " - > NUM);
のprintf(
" 数(%Dを入力してください)名前を==> " - > NUM);
scanfの(
" %S " 、頭 - > 名);
ヘッド
- > = NULL;
PTR
= 頭;
以下のための (I = 1 ; iは < 6 ; iは ++
{
PTR1
= (llink)はmalloc( はsizeof (ノード))。
もし PTR1)
リターン NULL;
printf(
" 输入请编号==> " 、PTR1 - > NUM);
scanf関数(
" %sの " 、PTR1 - > 名);
PTR
- > = NULL;
PTR
- > = PTR1。
PTR
= PTR - > 次。


}
戻り ヘッド;

}

/ * --------------リンクされたリストのノードをトラバース---------------- * /

、LLink、findNode(LLink、頭、
INT NUM)
{
、LLink、PTR、
PTR
= ヘッドと、
一方 (PTRは != NULL)
{
IF (PTR - > NUMが == NUM)を
返す PTRと、
PTR
= PTR - > 次に、

}
戻り PTRを;

}

/ * ----検索------------------メール名-------------------によって出力 * / int型のmain(){ 、LLink、頭; 、LLink、PTR。






int型 NUM;


ヘッド
= createllist();
IF ヘッド)
{
のprintf(
" メモリ割り当て障害の\ N-! " );
出口(
1。 );
}
ながら、 1。
{
のprintf(
" メールを見つけるために、番号を入力してください== > " );
scanfの(
" %のD " NUM); IF (NUM != 0 { PTR = findNode(頭部、NUM); IF PTR)のprintf("




N- \見つかりません " );

のprintf(
" 名:%S \ N- " 、PTR - > 名);
}
他の 出口(1 ); } }




 

ます。https://www.cnblogs.com/FCWORLD/archive/2010/11/18/1881171.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_34007879/article/details/94156045