鍊錶
1.儲存方式:
(1)順序儲存:以連續的儲存單元進行儲存
(2)鏈式儲存:儲存單元不聯絡
2.鏈式儲存:
(1)不可計算儲存單元的位址,只能以儲存的形式來完成
(2)結構:
①結點的結構:
資料域(data) 指標域(next)
②資料域:儲存本結點的資料
④定義:
struct node;
⑤型別重新命名:
a. struct node;
typedef stuct node elemsn;
b. typedef struct nodeelemsn;
3.結點單元的分配:
(1)設型別名為:elemsn
(2)elemsn * p;
p=(elemsn *)malloc(sizeof(elemsn));
(3)引用成員:p->data,p->next;
4.鍊錶的特點
5.術語:
(1)鍊錶中相鄰的兩個結點分別稱為前驅結點和後繼結點,前驅結點的指標域存放其後繼結點的
位址 前驅節點的指標域指向後繼結點
(2)頭結點:單向鍊錶中沒有前驅結點的結點
(3)尾結點:單向鍊錶中沒有後繼結點的結點
6.線性鍊錶的特點:
(1)有且僅有乙個結點無前驅結點—頭結點
(2)有且僅有乙個結點無後繼結點—尾結點
(3)除頭、尾結點外,其餘結點有且僅有乙個前驅、後繼
7.迴圈鍊錶:尾結點的指標域指向頭結點,即每乙個結點都有它的前驅、後繼
8.單向鍊錶的建立、輸出:
#include#include#define n 10
typedef struct node elemsn;
elemsn * creatlink(int arr,int n);//建立鍊錶
void printlink(elemsn *head);//輸出鍊錶
int main(void)
return head;
}void printlink(elemsn * head)
二叉鍊錶結構定義簡單解釋
typedef int datatype typedef struct node node 此處node表示這個鍊錶的名字typedef struct bitnodebitnode,bitree 此處bitnode表示這個鍊錶的名字之前沒搞明白後面跟著的 bitree 是什麼意思,如果這麼寫,應該就...
鍊錶的定義及其基本運算
include using namespace std typedef struct tagnodenode 該結點可看成是 存放了數值域data和指標域next的遞迴定義的指標 原來的結點宣告報錯。出錯原因為 typedef相當於為struct結構宣告了乙個新的名字,如 typedef int i...
鍊錶的定義及其基本運算
由於鍊錶的描述比較複雜,故此處僅貼出 並附上本人遇到的部分問題,以供學習參考之用。include using namespace std typedef struct tagnodenode 該結點可看成是 存放了數值域data和指標域next的遞迴定義的指標 原來的結點宣告報錯。出錯原因為 typ...