実験データ構造
このコースのデータ構造を習得するためには、私は基本的なスキルを築くためには、実験の経過を再建しました。
実験1:ストレージ構造
- リニアの表は、実験
- 無作為に10 100から999までの間に3つの整数の中にリストを生成しました。単一のリストは非常に異なっていないと私は、サイクルのチェーンを使用したが、最後の要素は、最初のノードの最後の点です。
ボイドは(LinkNode *&L)を作成 // 最初のノードが与えられると、出力リスト {//リバースヘッド補間 L =新しい新しいLinkNodeを、 L->データ= 0; L->次に= L; //ヘッドノードを起動しますそのポインティング LinkNode * Sと、 INT X = 100; INT Y = 999; にsrand((符号なし)3。); (I = 0 int型;方には<10; Iは++) { S =新しい新しいLinkNode; S->データ(=ランド()%(Y-X + 1))+ X; // これは、単純にxの値を変更し、上限と下限のYが直接変更することができる S->次に= L->次に、 L->次に= S; } }
[10.27]は昇順挿入要素に、単一のリストの作成を完了します
#include "LinkList.h"
名前空間stdを使用。
空挿入(LinkNodeの*のL、int型NUM)
{
LinkNode * P = L->次に、*プリ= L *テム; // P点と比較するための最初のノードに、点Pの前方に向かって指して事前。TEMが新しいノードであります
LinkNode =新しいです。
Tem->データ= NUM; //テムのノードの評価に入れ、それ以外の問題
IF(L->次== NULL)// Lノードが挿入されていない場合
{
Tem->次= NULL;
L->次=テム。
返します。
}
しばらく(P &&(P->データ<数値))//インサートの右の位置を見つけます
{
pの=;
P = P - >次。
}
もし(P == NULL)彼らは最終リストに来るまで//適切な場所を見つけることができません
{
プレ>次=テム。
Tem->次= NULL;
}
他に//適切な場所を見つけます
{
Tem->次= P;
プレ>次=テム。
}
}
無効ディスプレイ(LinkNodeの*のL)
{
LinkNodeの* 0;
O = L->次。
しばらく(O!= NULL)
{
coutの<< O->データ<<」「;
O = O->次。
}
}
無効作成(LinkNode * L)
{
L =新しいLinkNode。
L->データ= 0。
L->次= NULL; // Lを初期化します
int型NUM = 0;
COUT << << ENDL「挿入される要素、入力-1の終了を入力してください」。
cinを>> NUM。
しばらく(NUM!= -1)
{
(L、NUM)挿入します。
L->データ= L->データ+1。
cinを>> NUM。
}
裁判所未満<<「入力完了し、リスト要素を次のように」<<てendl;
ディスプレイ(L)。
}
#include " stdio.hの" の#include <iostreamの> する#include <STDLIB.H> 構造体LinkNode { LinkNode * 次回。 int型データ; }。空挿入(LinkNodeの*のL、int型NUM); 無効ディスプレイ(LinkNodeの*のL)。 ボイド(LinkNodeの*のL)を作成します。
1つの#include " LinkList.h " 2 3 使用して 名前空間STDを、 4 5 6 INT メイン() 7 { 8 LinkNode * 1 = NULL; 9 (L)を作成します。 10 リターン 0 ; 11 }