顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表一般可以分为静态顺序表(使用定长数组存储)和动态顺序表(使用动态开辟的数组存储)。本次实现的是动态顺序表,具体代码如下:
common.h
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
SeqList.h(函数声明文件)
#pragma once
#include "common.h"
typedef int SLDataType;
//顺序表的动态存储
typedef struct SeqList
{
SLDataType* _array;//指向动态开辟的数组
size_t _capacity;//容量空间大小
size_t _size;//有效数据个数
}SeqList;
//基本增删查改接口
void SeqListInit(SeqList* ps, size_t capacity);
void SeqListDestory(SeqList* ps);
void SeqListPrint(SeqList* ps);
void CheckCapacity(SeqList* ps);
void SeqListPushBack(SeqList* ps, SLDataType x);
void SeqListPopBack(SeqList* ps);
void SeqListPushFront(SeqList* ps, SLDataType x);
void SeqListPopFront(SeqList* ps);
//在pos的位置插入数据
void SeqListInsert(SeqList* ps, size_t pos, SLDataType x);
//删除pos位置的数据
void SeqListErase(SeqList* ps,