原点
リンクリストの出現は、多くのビジネスシナリオで、追加および削除操作、配列を使用する場合は、いずれかの原因大量のデータの移動、または多くの原因保管スペースの浪費。そこで、リンクされたリストが生まれました。
リンクリストは一種の線形リストであり、チェーンのようなものであり、各ノードには次のものが含まれます。2つの部分:1つはデータ要素を保存することですデータフィールド(複数の異なるタイプのデータを格納する場合があります)、もう1つは、次のノードのアドレスを格納することですポインタフィールド。もちろん、操作の追加と削除は非常に簡単です。チェーン構造のため、一般的なリンクリストが作成されます。持っていない配列のように配列の添え字を直接渡すランダムアクセス能力。
定義
typedef struct Node{
int data;
struct Node *next;
}LNode, *LinkList;
int main()
{
LNode point1 = {
1,NULL};
}
リンクリストと配列の比較
アレイ:
int i;
int array[] = {
1,2,3};
for(i=0;i<sizeof(array)/sizeof(array[0]);i++){
printf("array[%d]=%d\n",i,array[i]);
}
:Wq
リンクリスト
LNode point1 = {
1,NULL};
LNode point2 = {
2,NULL};
LNode point3 = {
3,NULL};
point1.next = &point2;
point2.next = &point3;
printf("p1data=%d,p2data=%d,p3data=%d\n",point1.data,point1.next->data,point1.next->next->data);