資料結構作業 有表頭鍊錶

2022-09-14 01:42:11 字數 1755 閱讀 2084

雖然大部分是模仿的,但是總算是用了兩個小時把這個作業弄完了。第一次寫迭代器和template。迭代器嗎~基本就是乙個型別,把++ == != * ->過載一下就搞定了。

有表頭鍊錶

1template 

<

class

t>

2struct

__head_list_node

9__head_list_node(

constt&

t)13

};14

template 

<

class

t, class

ref, 

class

ptr>

15struct

__head_list_iterator

25__head_list_iterator(node 

*x) : itx(x) {}

26__head_list_iterator(const_iterator

&x) : itx(x.itx) {}

2728

bool

operator==(

const

__head_list_iterator

&x) 

29bool

operator!=(

const

__head_list_iterator

&x) 

3031

ref 

operator

*() 

32ptr 

operator

->

() 33

34self

&operator

++()

38const

self 

operator++(

int)

44};

45template 

<

class

t>

46class

__head_list63~

__head_list()

6667

iterator begin()

70iterator end()

73const_iterator begin() 

const

76const_iterator end() 

const

7980

size_t size() 

const

83bool

empty() 

const

8687

node

*getprevious(node *q)

92void

constt&

t)102

iterator insert(iterator pos, 

constt&

t)111

iterator insert_after(iterator pos, 

constt&

t)120

iterator locate(

constt&

t)125

iterator modify(iterator pos, 

constt&

t)129

void

erase(iterator pos)

136void

clear()

143__list_size =0

;144

}145

};

鍊錶實現佇列 資料結構作業

仿照作業code1的功能,將課本上鍊表的實現佇列能完整實現 需要通過main函式呼叫並能進行友好的人機互動輸入 作業code1 鍊錶實現佇列的 include define ok 1 define error 0 using namespace std typedef int qelemtype t...

資料結構鍊錶 頭插法 尾插法 雙向鍊錶

我們最近學了資料結構鍊錶中的尾插法,頭插法,雙向鍊錶 鍊錶的步驟 1.申請乙個新的節點空間 2.給新的節點賦值資訊域 3.修改這個節點的指標域,將節點連線起來 尾插法 顧名思義就是從節點的尾部進行插入,首先申請乙個節點空間,給新的節點賦值資訊域,然後修改這個 節點的指標域,寫鍊錶首先要判斷頭節點是否...

JAVA資料結構之鍊錶 有dummyNode

private class node public node e e public node override public string tostring 需要size記錄擁有的元素個數 public class linkedlist 增 這因為,頭結點和中間結點有差異,所以需要分別討論。此處可以...