単一のリストの基本的な操作 - など、リスト、挿入または削除ノードを作成

序文

本論文では、次のとおりです。

単一のリスト(1)を作成します。

(2)接合部を作成します

(3)印刷ノード

(4)]リストに挿入されている[補間ヘッド

(5)指定された場所のリストを削除[削除]

単一のリストを学ぶ初心者のための基本的な動作の初期の理解

まず、コード:

する#include <stdio.hに> 
する#include <STDLIB.H> 
する#include < 文字列・H>
 // 構造構成----ノードポインタフィールド+データフィールド
構造体ノード{
     int型データ; // データフィールド
    構造体ノード次*; // ポインタフィールド
};
 //は、リスト(ヘッダ)を作成
ストラクトノード* createListを(){
     ストラクトノードのヘッドノードを* =(ストラクト *ノード)はmallocはsizeofストラクト)ノード);
     // ヘッドノードとなる構造変数
     // 変数が初期化されなければならない前に 
     // headNode-> =データ1; //通常は初期化データ 
    headNode->次に= NULL;
     戻りヘッドノード;       
} 
// ノードの作成
構造体をノード*(createNode INT データ){
     ストラクトノード* newNode =(ストラクトノード*)はmallocはsizeofをストラクトノード));
     // 新しいノード初期化 
    newnode->データ= データ; 
    newNode - >次に= NULL;
     戻りnewNodeを; 
 } 
 // プリントノード(ノードトラバーサル)
 ボイドがprintlist(ストラクトノード* ヘッドノード){
      構造体* = HeadNode- pMoveノード>次に; // ノードの次のノードに印刷ヘッド・ポインタ
     一方(pMove){ 
         のprintf(" %D \ T "、pMove-> データ); 
         pMove = pMove-> 次に、     
     }         
     のprintf (\ N- ); 
 } 

// リストの挿入:---挿入ノードがリンクされたリストに挿入され、挿入ノード番号データは
  ボイド insertNodeByHead(ストラクトノードのヘッドノードを*、INT データ){
   // 1、作成するために挿入されていますノードは
  ストラクトノード* = insertNode createNode(データを); // コールcreateNodeメソッドは、新しいノードを作成 
    insertNode->次= headNode-> 次に、
    ヘッドノード - > =次にinsertNode; 
} 
// リストを削除しますデータを削除し、リストを削除---指定された場所を削除しているどのくらいの
空隙 deleteNodeByAppoin(ストラクトノード*ヘッドノードを、INT POSDATA){
     ストラクトノード* posNode = headNode-> 次;
     ストラクト * = posNodeFrontノードをヘッドノード;
     IF(posNode == NULL)
        のprintf(" リストが空です!" ); 
     {
         しばらく(!posNode->データ= POSDATA){ 
            posNodeFront = posNode; 
            posNode = posNodeFront->次に、
             IF(posNode == NULL){ 
                (printfの" 指定された位置が見つかりません" );
                 リターン; 
            }             
        } 
        posNodeFront - >次に= posNode-> 次に、
         フリー(posNode); 
    }     
} 
int型のmain(){
     ストラクトノードリスト* createList =(); //は、リストと呼ばれるリストを作成する 
    のprintf(" データのリストの前に挿入:\ N- " ); 
    がprintlist(リスト); 
    のprintf(" データがリストに挿入されている:\ N- " );
    insertNodeByHead(リスト、3。);// 挿入データリスト-3リスト 
    insertNodeByHead(リスト、2); // データリスト-2リスト 
    insertNodeByHead(リスト、1); // 挿入データ一覧リストに-1 
    がprintlist(リスト);          // プリントリストリスト 
    printf(" リストを削除した後のデータ:\ N- " ); 
    deleteNodeByAppoin(リスト、2); //は、データのリストを削除2 
    がprintlist(一覧); 
    システム(" PAUSE " );
     の戻り 0 ; 
}

 

 

第二に、結果:

おすすめ

転載: www.cnblogs.com/it1997/p/12054157.html