模板線性棧和佇列

2021-04-24 06:42:37 字數 1958 閱讀 8322

實現了棧和佇列的基本操作

/棧#ifndef afx_xtstack_h__ 

#define afx_xtstack_h__ 

#if _msc_ver > 1000

#pragma once

#endif 

#include "xtlist.h"

template

class xtstack   ;

///以上是標頭檔案

template

xtstack::xtstack()

template

xtstack::~xtstack()

template

xtstack::xtstack(const xtstack&src)

template

xtstack&xtstack::operator = (const xtstack&src)

// 出棧

template

bool  xtstack::popdata(t& data)

//進棧

template

void  xtstack::pushdata(const t& data)

//棧中元素個數

template

int xtstack::getcount() const

//遍歷資料時使用

template

bool xtstack::getdata(int nindex,t &data) const

//刪除所有元素

template

void  xtstack::removeall()

#endif // !defined(afx_xtstack_h__20fc7862_b211_4b1f_b529_4c62daab9723__included_)

//佇列

#ifndef afx_xtqueue_h__ 

#define afx_xtqueue_h__ 

#if _msc_ver > 1000

#pragma once

#endif 

#include "xtlist.h"

template

class xtqueue   ;

/以上是定義

template

xtqueue::xtqueue()

template

xtqueue::~xtqueue()

template

xtqueue::xtqueue(const xtqueue&src)

template

xtqueue&xtqueue::operator = (const xtqueue&src)

//進佇列

template

void xtqueue::queuein(const t& data)

//出佇列

template

bool xtqueue::queueout(t &data)

//棧中元素個數

template

int xtqueue::getcount() const

//遍歷資料時使用

template

bool xtqueue::getdata(int nindex,t &data) const

//刪除所有元素

template

void xtqueue::removeall()

#endif // !defined(afx_xtqueue_h__1775ab70_01fa_437a_a487_2170baaeb16a__included_)

/測試用例

void teststack()

void testqueue()

棧和佇列(模板)

陣列模擬棧 include using namespace std const int n 100010 int stk n tt 插入 stk tt x 彈出 tt 判斷棧是否為空 if tt 0 not empty else is empty 棧頂 stk tt 陣列模擬佇列 include u...

線性表 棧和佇列

線性表是n個元素的有限序列。表示方法有兩種,一種是順序表示,一種是鏈式表示。順序表示即採用一組位址連續的儲存單元依次儲存線性表的資料元素,通常採用陣列來實現 鏈式表示是用一組任意的儲存單元儲存線性表的資料元素,每一結點包含兩個域 資料域和指標域,資料域儲存資料,指標域儲存後繼儲存位址資訊,實現為 i...

線性儲存模擬棧和佇列

一般所謂的線性儲存基本是就是陣列和動態分配的儲存空間,在模擬棧和佇列的時候,使用乙個迭代器作為棧頂或者隊首隊尾,這個迭代器的賦值比較講究,在初始化的時候賦值為 1最為方便,既便於判空又便於儲存。在插入的時候使用陣列stack 和迭代器i,插入元素element,stack i element 這樣,...