用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 我們再...