模板順序表

2021-07-31 00:02:13 字數 1311 閱讀 8865

用模板寫函式或類都與型別無關,因此,stl中都是用模板實現容器,下面我們來介紹用模板實現順序表。

關於模板的知識,在之前的部落格中有提到:

#include

using

namespace

std;

#include

//模板順序表

template

class vector

vector(const t* arr, size_t size)//非型別引數模板類建構函式

:_start(new t[size])

, _finish(_start)

, _endofstorage(_start + size)

}vector(const vector&v)//拷貝建構函式

:_start(new t[v._endofstorage - v._start])

}vector & operator = (const vector &v)//賦值運算子的過載

return *this;

}void swap(vector&v)

~vector()

}iterator end()

iterator begin()

constiterator begin()

constiterator end()const

size_t size()const

//大小

size_t capacity()const

//容量

t& operator(size_t index)

const t& operator(size_t index)//下標

t& back()

const t& back()//最後乙個元素

void checkcapacity()//檢查容量

}t& front()//第乙個元素

void pushback(const t& x)//後插

void popback()//後刪

iterator insert(iterator pos, const t& x)//任意位置插入

*pos = x;

_finish++;

return pos;

}iterator erase(iterator pos)//任意位置刪除

--finish;

return pos;}}

private:

t * _start;

t * _finish;

t * _endofstorage;

};

模板順序鍊錶

對於模板這個東西,我感覺好像概念清楚,但一直沒機會動手寫一寫。今天終於動手了,寫了才知道自己還是有很多相關的東西不知道的。今天寫了乙個模板順序鍊錶,還花了不少時間,以後有機會將會寫更多的模板資料結構。下面的資料結構支援記憶體自動增長。有查詢,插入,刪除,賦值等簡單基本操作 ifndef afx xt...

順序錶類模板

例6.3 順序錶類模板。include include using namespace std template class seqlist 初始化為空表 int length const 計算表長度 int find t x const 尋找x在表中位置 下標 bool isin t x 判斷x是...

順序錶類模板

include include using namespace std template class seqlist 初始化為空表 int length const 計算表長度 int find t x const 尋找x在表中位置 下標 bool isin t x 判斷x是否在表中 bool in...