試用多型實現線性表(佇列,串,堆疊)

2021-08-20 13:09:41 字數 643 閱讀 8498

佇列,串,堆疊都可以實現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...