C 模板實現雙鏈表和佇列

2021-07-30 07:44:15 字數 1374 閱讀 2019

首先來了解模板的定義

模板是泛型程式設計的基礎,泛型程式設計是指編寫與型別無關的邏輯**,是一種復用方式。

模板分為模板函式和模板類

函式模板的格式:

template

返回型別    函式名(引數列表)

類模板的格式:

template

class  類名

templatestruct listnode

};

實現模板類

templateclass list

~list()

_head = _tail = null;

} list(const list& s)

:_head(null)

, _tail(null) }

list& operator=(lists)

void pushback(const t& d)

else

}void popback()

else if (_head == _tail)

else

}void pushfront(const t& d)

else

}void popfront()

else if (_head == _tail)

else

}node* find(const t& d)

cur = cur->_next;

} return null;

} void insert(const t& d, node* pos)

else

}void erase(node* pos)

else if (pos == _tail)

else

}void print()

cout << endl;

}protected:

node* _head;

node* _tail;

};

用介面卡實現佇列

templateclass queue

void pop()

t& front()

t& back()

size_t size()

bool empty()

protected:

container _con;

};

在模板類中實現佇列中的介面函式

t& front()

t& back()

size_t size()

return count;

} bool empty()

C 模板實現佇列

我準備練習一下模板的知識,然後自己實現vector類。在這之前,先用模板實現乙個佇列來熱身吧。佇列的底層是鍊錶。主要是熟悉一下模板的寫法。另外,就是模板的定義和實現都要寫在乙個檔案中 export關鍵字可以避免這樣。還沒用過 所以倒數第二行我加了個 include queue.hpp 只能是hpp,...

C 利用模板實現佇列

這個 的實現主要使用了類模板以及模板函式,友元,成員模板以及成員模板函式。這裡需要注意的時,類的成員函式在實現的時候必須滿足以下幾點 1 必須以template開始,後接模板形參表 2 必須指出是那個類成員 3 類名必須包含模板形參 具體的格式如下 templatereturn type queue...

C 模板實現鍊錶佇列

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