序文
本論文では、次のとおりです。
単一のリスト(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 ; }