使用C語言描述靜態鍊錶和動態鍊錶

2022-02-01 20:45:02 字數 1121 閱讀 7713

靜態鍊錶和動態鍊錶是線性表鏈式儲存結構的兩種不同的表示方式。

靜態鍊錶的初始長度一般是固定的,在做插入和刪除操作時不需要移動元素,僅需修改指標,故仍具有鏈式儲存結構的主要優點。

動態鍊錶是相對於靜態鍊錶而言的,一般地,在描述線性表的鏈式儲存結構時如果沒有特別說明即預設描述的是動態鍊錶。

下面給出它們的簡單實現,關於線性表更為詳盡的c語言的實現,可以參考 

#define _crt_secure_no_deprecate

#define _crt_secure_cpp_overload_standard_names 1

#include #include /*所有結點都是在程式中定義的,不是臨時開闢的,也不能用完後釋放,這種鍊錶稱為「靜態鍊錶」。*/

struct student

;int main()

while (p != null); //直到p的next成員為null,即完成遍歷

system("pause");

}

#define _crt_secure_no_deprecate

#define _crt_secure_cpp_overload_standard_names 1

#include #include /*所謂動態鍊錶,是指在程式執行過程中從無到有地建立起乙個鍊錶,即乙個乙個地開闢結點和輸入各結點資料,並建立起前後相鏈的關係。*/

struct student

;int main()

else

p2 = p1;//p2是最後乙個結點

printf("請輸入學號,輸入0終止:\n");

p1 = (struct student *)malloc(sizeof(struct student));

scanf("%d", &p1->no);

}; p2->next = null;//輸入完畢後,p2->next為null

//遍歷動態鍊錶

struct student *p;

p = head;

while (p != null)

printf("\n");

system("pause");

}

C語言靜態鍊錶和動態鍊錶

1.靜態鍊錶 結構體中的成員可以是各種型別的指標變數,當乙個結構體中有乙個或多個成員的基型別是本結構體型別時,則稱這種結構體為 引用自身的結構體 如 struct link a p是乙個可以指向 struct link 型別變數的指標成員。因此,a.p a 是合法的表示式,由此構成的儲存結構如圖1所...

靜態鍊錶 C語言描述

靜態鍊錶 1.下標為0的游標存放最後存放資料節點的游標,即是第乙個沒有存放元素 備用鍊錶 的下標 2.最後乙個的節點存放第乙個由數值得下標 3.第乙個和最後乙個都不存放資料 即是備用鍊錶的第乙個的下標 4.最後乙個儲存資料的節點的游標為0 靜態鍊錶主要是根據游標來遍歷,以前沒有指標用的思想 假如我要...

靜態鍊錶和動態鍊錶

鍊錶分為兩種 動態和靜態 動態的結合相關函式能動態開闢記憶體,特點就是不會浪費記憶體單元 靜態鍊錶則沒有這個優點。靜態鍊錶和動態鍊錶是線性表鏈式儲存結構的兩種不同的表示方式。靜態鍊錶的初始長度一般是固定的,在做插入和刪除操作時不需要移動元素,僅需修改指標。動態鍊錶是相對於靜態鍊錶而言的,一般地,在描...