利用利用C++简单实现顺序表和单链表的示例代码简单实现顺序表和单链表的示例代码
本文主要给大家介绍了关于C++实现顺序表和单链表的相关内容,分享出来供大家参考学习,话不多说,来一起看看详细的介
绍:
一、顺序表示例代码:一、顺序表示例代码:
#include <assert.h>
#include <iostream>
using namespace std;
typedef int Datatype;
class SeqList
{
public:
SeqList()
:_array(NULL)
,_size(0)
,_capacity(0)
{
}
SeqList(const SeqList& s)
{
_array = (Datatype*)malloc(s._size*(sizeof(Datatype)));
memcpy(_array, s._array, s._size*(sizeof(Datatype)));
_size = _capacity = s._size;
}
SeqList& operator=(SeqList& s)
{
free(_array);
Swap(s);
return *this;
}
void Swap(SeqList& s)
{
_array = s._array;
_size = s._size;
_capacity = s._capacity;
}
~SeqList()
{
if (_array)
{
free(_array);
_array = NULL;
_size = _capacity = 0;
}
}
void Print()
{
for (size_t i = 0; i < _size; i++)
{
cout << _array[i] << " ";
}
cout << endl;
}
void CheckCapcacity()
{
if (_size == _capacity)
{
_capacity = 2 * _capacity + 3;
_array = (Datatype*)realloc(_array, _capacity*sizeof(Datatype));