将以前写的C语言顺序表用类的模板改写。
比较简单,直接上代码:
#define _CRT_SECURE_NO_DEPRECATE 1
#include<assert.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
template<class T>
class SeqList
{
friend ostream& operator<<(ostream& _cout, const SeqList<T>& s)
{
for (size_t i = 0; i < s._size; ++i)
_cout << s._pArray[i] << " ";
return _cout;
}
public:
//构造函数
SeqList(size_t capacity = 10)
:_pArray(new T[capacity + 3])
,_size(0)
,_capacity(capacity + 3)
{}
//拷贝构造函数
SeqList(const SeqList& s)
{
_pArray = new T[s._size];
memcpy(_pArray, s._pArray, sizeof(T)*s._size);
_size = s._size;
_capacity = s._size;
}
SeqList& operator=(const SeqList& s)
{
if (*this != s)
{
T* temp = new T[s._size];
memcpy(temp, s._pArray, sizeof(T)*s._size);
delete[] _pArray;
_pArr