佇列,串,堆疊都可以實現push,pop,測長等操作,用多型實現,就是建立乙個線性表的共性模板
#includeusing namespace std;
//試用多型實現線性表(佇列、串、堆疊)
templatestruct tcontainer
;templatestruct tvector:public tcontainer
~tvector()
void re_capacity(size_t s)
else
}virtual void push(const t& v)
buf[_size++] = v;
} virtual void pop() }
virtual const t& begin()
virtual const t& end() }
virtual size_t size()
const t& operator (size_t i) }
private:
size_t _size; //實際元素個數
size_t _cap; //已分配的容量
t* buf; //首位址
};int main()
}
線性表 堆疊以及佇列
佇列總結 線性表 鍊錶以及佇列是在coding中最為常見的資料結構,在平時程式設計時,我們會有意識或無意識的進行選擇。線性表本質上是一種順序儲存結構,所有需要儲存的內容是可以被索引的,說起來,在程式設計時常用的陣列就是線性表的一種。線性表的資料結構表示 class linearlist bool i...
線性表 棧 佇列 串
一 線性表 概念 n個元素有限序列 a1,a2,a3.an 存在唯一的表頭和表尾 儲存 順序儲存 位址連續的儲存單元依次儲存 可以隨機的訪問表中元素,但是插入和刪除操作要移動大量的元素。鏈式儲存 用結點來儲存資料,結點空間可以是連續的也可以是不連續的 因此儲存資料的元素的同時必須儲存資料元素之間的邏...
線性表 佇列
和棧相反,佇列是一種先進先出 first in first out 縮寫為fifo 的線性表。它只允許在表的一端進行插入,而在另一端刪除元素。雙端佇列 限定插入和刪除操作在表的兩端進行的線性表 單鏈佇列 佇列的鏈式儲存表示 和線性表類似,佇列也可以有兩種儲存表示。用鍊錶表示的佇列簡稱鏈佇列。type...