線性表之鍊錶

2021-09-29 06:27:09 字數 1616 閱讀 1132

1 實驗專案一 線性表的基本操作及其應用(兩次實驗課完成)

definition of sequential list:

typedef struct sqlist;

definition of linked list:

typedef struct lnodelnode,*linklist;

實驗要求:

(1) 程式要新增適當的注釋,程式的書寫要採用縮排格式。

(2) 程式要具在一定的健壯性,即當輸入資料非法時,程式也能適當地做出反應,如插入刪除時指定的位置不對等等。

(3) 程式要做到介面友好,在程式執行時使用者可以根據相應的提示資訊進行操作。

(4) 上傳源程式到課堂派。順序表的源程式儲存為sqlist.cpp,鍊錶的源程式儲存為linklist.cpp。

#include

using namespace std;

struct student//定義學生資訊的結構體

;struct lnode

;//鍊錶的節點

struct sqlist

list;

//定義鍊錶

lnode *head,

*rail;

//rail指向鍊錶的最後乙個學生的資訊

void

insert

(sqlist &list)

//插入學生的資訊

else

//插入其他節點

}return;}

void

print

(sqlist &list)

//列印學生的資訊

return;}

void

delete

(sqlist &list)

if(pre==

null

) cout<<

"刪除位置有誤"

return;}

void

find

(sqlist &list)

//找到學生的資訊,並列印出來

if(pre==

null

)//找到最後也沒有找到

cout<<

"查無此人"

cout

''

void

single_print

(sqlist &list)

//由位置列印學生的資訊

if(pre==

null

) cout<<

"位置有誤"

cout

''

''

void

single_insert

(sqlist &list)

//單個插入

if(pre==

null

) cout<<

"插入位置有誤"

return;}

intmain()

return0;

}

線性表之鍊錶

鏈式的線性表適用於經常進行刪除,插入操作的工作,如 訂票系統。鍊錶是用乙個乙個的節點連線起來的表,在物理上不是連續的,在邏輯上是連續的。通過節點間的指標指向來表示節點間的關係。所以在進行鍊錶操作之前,要先定義乙個節點結構。節點結構包含兩個東西 資料域,指標域。資料域就是用來存放資料的,指標域是用來表...

線性表之鍊錶

1,為什麼要使用鍊錶 1,順序表的長度是固定的,如果超出分配的長度就會造成溢位,如果存放的資料太少則會造成空間浪費。2,在插入元素和刪除元素時 尤其不在尾部時 會移動大量的元素,造成效能和效率低下。基於以上問題,使用鍊錶可以很好地避免順序表中出現的問題。這也是我們要使用鍊錶的原因。2,鍊錶的儲存結構...

線性表之鍊錶

1.初始化 void initlist list plist assert plist null if plist null plist data 不使用 plist next null 2.頭插 bool insert head list plist,int val 時間複雜度為o 1 node ...