用類和模板實現的順序表

2021-10-02 17:55:36 字數 1939 閱讀 6197

用c語言實現的鏈結如下:

原理一樣,只是下面用了c++中的類和模板

#include

#include

using

namespace std;

template

<

class

t>

class

seqlist

~seqlist()

//析構函式

}void

checkcapaticy()

//釋放舊空間

delete

_array;

_array = temp;

_capacity = newcapacity;

cout <<

"擴容成功"

<< endl;}}

void

pushback

(const t& data)

;//尾插

void

popback()

;//尾刪

void

pushfront

(const t& data)

;//頭插

void

popfront()

;//頭刪

size_t size()

;//獲取元素個數

size_t capacity()

;void

printtest()

;//列印

//過載下標運算子 下標運算子成對過載

t&operator

(size_t index)

//物件的內容不能修改

const t&

operator

(size_t index)

const

private

: t* _array;

//陣列放元素 t代表順序表中存放元素的型別

size_t _size;

//有效元素個數

size_t _capacity;

//陣列總容量 };

template

<

class

t>

void seqlist

::pushback

(const t& data)

//尾插

template

<

class

t>

void seqlist

::popback()

//尾刪

template

<

class

t>

void seqlist

::pushfront

(const t& data)

//頭插

_array[0]

= data;

_size++

;//插完有效元素個數也要+1

}template

<

class

t>

void seqlist

::popfront()

//頭刪

_size--;}

template

<

class

t>

size_t seqlist

::size()

template

<

class

t>

size_t seqlist

::capacity()

template

<

class

t>

void seqlist

::printtest()

//列印

cout << _array[_size -1]

<< endl;

}int

main()

用模板實現順序表Vector

pragma once include using namespace std include template class vector vector const t array,size t size start new t size finish start endofstorage fini...

順序表 C 類模板實現

include using namespace std define ok 1 define error 0 template class linklist int initlinklist linklist t l,int maxlistsize 100 初始化大小為100 int getleng...

模板實現順序表

模板就是實現與型別無關的 增加了 的復用性。模板分為模板函式和模板類 模板函式的格式typedef 返回型別 函式名 引數列表 class也可以用typename,意義相同。當需要資料大於所給定的資料時這時我們會考慮增容。void vector checkcapacity void test 我們再...