C 類模板實現鍊錶與簡單迭代器

2021-10-07 04:21:23 字數 2308 閱讀 1982

實現了鍊錶簡單的幾個功能

迭代器並不實用,寫著玩(未過載操作符)

#pragma once

template

<

class

t>

class

mylist

;template

<

class

t>

class

listiterator

;//鍊錶結點

template

<

class

t>

class

node

;friend

class

mylist

;friend

class

listiterator

;private

: t date;

node* next;};

//鍊錶

template

<

class

t>

class

mylist

;//鍊錶迭代器

template

<

class

t>

class

listiterator

bool

notnull()

;//當前節點是否空

bool

nextnotnull()

;//當前節點的下一節點是否空

t*first()

; t*

next()

;private

:const mylist

& m_list;

node

* m_current;};

template

<

class

t>

mylist

::mylist()

:m_head

(nullptr

)template

<

class

t>

mylist::~

mylist()

}template

<

class

t>

inline

void mylist

::insert

(const t& item)

template

<

class

t>

inline

void mylist

::delete

(const t& item)

previous = current;

current = current-

>next;}if

(current)

//不是最後乙個結點

else}}

template

<

class

t>

inline

int mylist

::find

(const t& item)

const

count++

; current = current-

>next;

}return-1

;}template

<

class

t>

inline

void mylist

::reserval()

m_head = q;

}template

<

class

t>

inline

bool listiterator

::notnull()

template

<

class

t>

inline

bool listiterator

::nextnotnull()

template

<

class

t>

inline t* listiterator

::first()

return

nullptr;}

template

<

class

t>

inline t* listiterator

::next()

return

nullptr

;}

void

listtest()

}

C 模板實現鍊錶佇列

佇列是一種十分常見的資料結構,具有先進先出的特點.佇列在處理訊息時,非常常用.本文利用c 模板,鍊錶來實現乙個簡單的佇列.解讀如下 1.queuelinklist標頭檔案.queuelinklist私有繼承於linklist,因為做為佇列中的核心鍊錶資料結構,我們只希望其具有尾插入,頭取出的方法.採...

C 模板實現簡單的鍊錶和順序表

從最初學習c語言到c 就有乙個認識就是作為乙個優秀的程式猿一定要學會 偷懶 用程式設計師的話來說就是復用,在c的基礎上開發的c 就深刻闡明了這一道理,因為這樣有太多的好處,增加了 的可移植性,提高了可維護性。c 的模板就很有用,可以大大提高寫 的效率,同時優秀的 總是最簡潔最有效的 下面我們來用模板...

順序表 C 類模板實現

include using namespace std define ok 1 define error 0 template class linklist int initlinklist linklist t l,int maxlistsize 100 初始化大小為100 int getleng...