細說線性表之單鏈表

2021-09-25 05:59:44 字數 1235 閱讀 8924

我們通過一道題來進行講解和練習

linked list

time limit: 1s memory limit: 131072 kb

【題目描述】

您的任務是

編寫執行以下操作的程式:

insert x:在鍊錶開頭新增含有鍵值x的結點。

delete x:刪除第乙個含有鍵值x的結點。如果沒有這樣的元素,你不需要做任何事情。

deletefirst:刪除鍊錶的第乙個結點。

deletelast:刪除鍊錶的最後乙個結點。

【輸入】

輸入形式如下:

ncommand1

command2

…commandn

第1行輸入運算元目n。

隨後n行輸入各操作。操作為下述4種中的一種。鍵值為整數。

insert x

delete x

deletefirst

deletelast

【輸出】

所有操作執行完畢後,順序輸出鍊錶中的結點鍵值。相鄰鍵值之間用1個空格隔開。

【資料規模】

n≤ 2000000

delete x操作的數目 ≤ 20

0 ≤ 鍵值x ≤ 109

鍊錶的結點數目不超過 106

對於 delete x, deletefirst 或者 deletelast 操作, 鍊錶中至少有乙個元素。

【輸入示例】

7insert 5

insert 2

insert 3

insert 1

delete 3

insert 6

delete 5

【輸出示例】

6 1 2

1.建立乙個單鏈表

一般來講我們建立乙個單鏈表是通過結構體套上乙個指標來實現的

struct lnode 

;lnode *p,

*q;//這裡我們定義兩個變數方便之後的插入刪除操作

void

initialize()

l//建立乙個鍊錶l;

2.接下來是輸入

輸入有多種方法

下面我們只說一種在鍊錶頭部處插入

(其他方法可以基於這個編碼,比如在鍊錶末尾處插入)

void

insert

(lnode *l,

int x)

}

今天很忙不慌哈

線性表之單鏈表

cpp view plain copy linkedlist linc 2013.2.26 include include include define ok 1 define error 1 define ture 1 define false 0 struct node typedef stru...

線性表之單鏈表

零個或多個資料元素的有限序列,線性表中的元素是一對一的關係,除了第乙個元素和最後乙個元素外,其他元素都是首尾相接的。線性表有兩種儲存方式,一種是順序儲存結構,另一種是鏈式儲存結構。指用一段位址連續的儲存單元依次儲存線性表的資料元素。優點 無需為表示元素間的邏輯關係而增加額外的儲存空間 隨機查詢元素,...

線性表之單鏈表

template typenamet structnode 頭結點 如果鍊錶有頭節點,則鏈式結構中的第乙個節點稱為頭結點 其資料域可以儲存一些附加資訊,如鍊表長度 其指標域指向鍊錶中的第乙個節點。template class linklist linklist t a int n linklist ...