动态顺序表: 容量不够时 自动增容(静态顺序表的改进)
动态顺序表的结构:
typedef int DataType;
typedef struct SeqList
{
DataType* _array; //指向数据块的指针
size_t _size; //有效数据个数
size_t _capacity; //容量
}SeqList;
增容:
void _CheckCapacity(SeqList* pSeq)
if (pSeq->_size >= pSeq->_capacity)
//防止开始空间为0,而容量一直为0,所以多开辟一些空间。
pSeq->_capacity = 2 * pSeq->_capacity + 3;
pSeq->_array = (DataType *)realloc(pSeq->_array, pSeq- >_capacity*sizeof(DataType));
}
}
//顺序表中数据为空可用提示语句给出或者assert报错
测试: