単一のリストの設立
機能を達成するために必要なこの問題は、整数のインクリメントされたシーケンスは、整数の非減少列にまとめ二つのリストによって表されます。
入力端として-1〜
1つの#include <ビット/ STDC ++ H> 2 使用して 名前空間STDを、 3 4 typedefは構造体の lノード*のリスト。 5 構造体lノード 6 { 7 int型データ、 8 lノード* 次の; 9 }。 10 11 空隙 InitList(リスト&L) 12 { 13 = L 新しいlノード。 14 L->次= NULL; 15 } 16 17 空隙 CreatList(リスト&L) 18は { 19 一覧R&LT、S; 20は S = L; 21である int型A、 22は しばらく(1 ) 23は 、{ 24 CIN >> A; // 出力が終了-1と 25 IF(A == - 1) // エンド補間 26は、 BREAK 、 27 R&LT = 新しい新しいlノード、 28 R->データ= A; 29 R->次に= NULL; 30 S->次に= R&LT; 31は、 S =R; 32 } 33 S->次= NULL; 34 } 35 36 空隙がprintlist(リスト&L) 37 { 38 リストP。 39 、P = L-> 次。 40 一方、(P) 41 { 42 COUT << P->データ<< " " 。 43 、P = P-> 次。 44 } 45 } 46 47 空隙 mergeList(リスト&L1、リスト&L2) 48 { 49 リストPA、PB、PC、LC。 50 PA = L1-> 次。 51 PB = L2-> 次。 52 LC = 新しい lノード。// 新建头结点 53 PC = LC。 // PC指向LC 54 ながら(PA && PB) 55 { 56 であれば(PA->データ<= PB-> データ) 57 { 58 PC->次= PA。 59 PC = PA; 60 PA = PA-> 次。 61 } 62 他 63 { 64 PC->次= PB; 65 PC = PB; 66 PB = PB-> 次; 67 } 68 } 69 PC-> = PA PA次:?鉛; //はPA意志または完全なトラバーサルに無い文字列PB PC 70 フリー(LL); // のL1、L2の解放 71は、 フリーの(L2); // もし出力する場合はNULL LL-> NULL 72 がprintlist(LC) 73である } 74 75 のint main()の 76 { 77 リストA 、B; 78 InitList(A); 79 CreatList(A)。 80 InitList(B)。 81 CreatList(B)。 82 mergeList(B) 83 リターン 0 。 84 85 }
業績
概要
1。各リストは、ヘッダノード、ヘッドノード無意味なデータ、次のノードを指すのみ有効なポインタを有します。
2の.List L = 新しい新しい lノードリストを表し、Lは、ヘッドノードを指すポインタであります
3新しいポインタP = L作成することにより、操作欠失を通してリストを見つけるためにリストの典型的操作(リストの先頭ポインタを表すが、その値を変更することはできません)。