c++引入模板是為了更好的**復用,模板這邊分為兩個大塊.
1.模板函式
2.模板類
我們今天來介紹模板類的應用—順序表和煉表(單鏈表為例)
//模板的順序表
templateclass seqlist
~seqlist()
}seqlist(const seqlist& s)
_size = s._size;
_capacity = s._capacity;
}seqlist& operator=(const seqlist& s)
_size = s._size;
_capacity = s._capacity;
}return *this;
}void pushback(const t& x)
void popback()
else
}void print()
cout << endl;
}protected:
void _checkcapacity()
delete _array;
_array = tmp;}}
private:
t* _array;
int _size;
int _capacity;
};void test1()
void test2()
void test3()
template//模板定義友元的時候是需要在宣告的
class linklist;
templateclass linklistnode
private:
t _data;
linklistnode* _next;
};templateclass linklist
~linklist()
}linklist(const linklist& l) //乙個乙個結點賦值
else
cur->_next = tmp;
tmp->_next = null;
}cur = cur->_next;}}
void pushback(const t& x)
else
cur->_next = tmp;
tmp = null;}}
void print()
}private:
linklistnode* _head;
};void test3()
void test4()
以上是本人在學習時候的**,供你參考。
本文出自 「做乙個小小小司機」 部落格,請務必保留此出處
模板順序鍊錶
對於模板這個東西,我感覺好像概念清楚,但一直沒機會動手寫一寫。今天終於動手了,寫了才知道自己還是有很多相關的東西不知道的。今天寫了乙個模板順序鍊錶,還花了不少時間,以後有機會將會寫更多的模板資料結構。下面的資料結構支援記憶體自動增長。有查詢,插入,刪除,賦值等簡單基本操作 ifndef afx xt...
順序表和煉表
定義 線性表是由n個具有相同特性的資料元素組成的有限序列,表中每個元素具有相同元素。邏輯上為連續的線性結構。常見的線性表 順序表,鍊錶 棧 佇列 字串 線性表根據物理儲存方式分為 順序表和煉表 線性表在邏輯上是線性結構,在物理上並不是連續的,線性表在物理上儲存時,通常是以陣列和鏈式結構的形式儲存。動...
順序表和煉表
1.名詞解釋 資料 對客觀事物的符號表示 資料元素 資料的基本單位,可由若干個資料項組成 資料項 資料的不可分割的最小單位 資料物件 性質相同的資料元素的集合,是資料的子集 資料結構 相互之間存在特定關係的資料元素的集合 關係描述資料元素之間的邏輯關係 物理結構 儲存結構 資料結構在計算機中的表示 ...