順序錶類模板

2021-10-07 04:44:17 字數 3415 閱讀 7655

程式:

#include

using

namespace std;

template

<

typename t,

int size>

class

seqlist

//初始化為空表

intlength()

const

//計算表長度

intfind

(t & x)

const

;//尋找x在表中位置(下標)

bool

isin

(t & x)

;//判斷x是否在表中

bool

insert

(t & x,

int i)

;//x插入到列表中第i個位置處(下標)

bool

remove

(t & x)

;//刪除x

intnext

(t & x)

;//尋找x的後繼位置

intprior

(t & x)

;//尋找x的前驅位置

bool

isempty()

//判斷表是否空

bool

isfull()

//判斷表是否滿

t get

(int i)

//取第i個元素之值

t&operator

(int i)

;//過載下標運算子};

template

<

typename t,

int size>

int seqlist

::find

(t & x)

const

template

<

typename t,

int size>

bool seqlist

::isin

(t & x)

return found;

}template

<

typename t,

int size>

bool seqlist

::insert

(t & x,

int i)

}template

<

typename t,

int size>

bool seqlist

::remove

(t & x)

return

false

;//表中不存在x

}template

<

typename t,

int size>

int seqlist

::next

(t & x)

template

<

typename t,

int size>

int seqlist

::prior

(t & x)

template

<

typename t,

int size> t& seqlist

::operator

(int i)

if(i>last) last++

;//下標運算子,只能增加表的元素,不能減少

return slist[i];}

intmain()

;for

(j=0

;j<

10;j++)if

(!seqlisti.

insert

(a[j]

,j))

j=seqlisti.

length()

;for

(i=0

;i) cout

<<

' ';

//列印出seqlisti.slist,即素數表

cout << endl ;

for(j=

0;j<

10;j++

) seqlisti[j]=0

;//採用下標運算子運算

for(j=

0;j<

10;j++

) cout<<<

' ';

cout

0;j<

10;j++

) seqlisti[j]

=a[j]

; seqlisti[10]

=31;//實驗能否增加元素

for(j=

0;j<

11;j++

) cout<<<

' ';

cout

(seqlisti.

isin

(k)) cout<<

"素數7在順序表中"

<< endl;

//因形參為引用,所以實參不可用整數常量7

else cout <<

"素數7不在順序表中"

(seqlisti.remove (k)

) cout<<

"刪除素數17"

else cout<<

"找不到素數17,無法刪除"

; j=seqlisti.

length()

;for

(i=0

;i) cout

<<

' ';

//列印剩下的素數

cout

insert

(k,j-1)

) cout<<

"列印17後乙個素數:"

next

(k))

"列印17前乙個素數:"

prior

(k))

"素數17在表中位置(下標)為:"

(k)

isempty()

) cout<<

"表是空的"

"表不空"

isfull()

) cout<<

"表是滿的"

"表也不滿"

isin

(k)) cout<<

"素數17在表中"

}

在此類模板中,存放順序表的陣列最多可放size個元素,11種操作由11個成員函式完成。

順序錶類模板

例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...

C 模板類實現順序表

define crt secure no warnings include using namespace std include define length 10 typedef int datatype class vector 建構函式 有size個值為data的元素 vector size ...