目录
二、本项目实现的功能:【1-14都实现】另:自动增加顺序表的容量也已实现。
三、一个头文件(SeqList.h),两个cpp文件(SeqList.cpp,Main.cpp)
一、参考视频:
一:https://edu.51cto.com/course/4725.html(前四节,讲顺序表的)
二:郝斌老师数据结构视频
二、本项目实现的功能:【1-14都实现】另:自动增加顺序表的容量也已实现。
三、一个头文件(SeqList.h),两个cpp文件(SeqList.cpp,Main.cpp)
1.SeqList.h
#include <stdio.h>
#include "malloc.h" //用到malloc函数:为结构体开辟一段内存空间。
#include "assert.h" //顺序表初始化时:用来检测/判断通过malloc开辟的内存空间是否为空
#define SEQLIST_INIT_SIZE 8 //该顺序表容量/最多可容纳的长度为8。不是实际顺序表的长度
#define INCREASE_SIZE 3 //自动增长因子,当顺序表满的时候再次插入时每次增加INC_SIZE个
typedef int ElemType; //这样写有助于更改数据类型。ElemType可以代表多种数据类型int/char/string
typedef struct SeqList
{
ElemType *base; //顺序表的首地址
int capacity; //顺序表的 容量 【capacity比size大】
int size; //顺序表的实际大小/有效个数
};
/*函数声明*/
bool Increase(SeqList *list); //可自动增长顺序表长度
void InitSeqList(SeqList *list); //顺序表初始化
void push_back(SeqList *list,ElemType val); //1.尾插:val代表要插入的数据
void push_front(SeqList *list, ElemType val);//2.头插:val代表要插入的数据
void delete_back(SeqList *list); //3.尾删
void delete_front(SeqList *list); //4.头删
void show_list(SeqList *list); //5.遍历输出顺序表
void insert_pos(SeqList *list,int pos,ElemType val);//6.按位置插入数据:val代表要插入的数据
int find(SeqList *list,ElemType val); //7.寻找数据:val代表要查找的数据
int length(SeqList *list); //8.求顺序表长度
void delete_pos(SeqList *list,int pos); //9.按位置删除数据
void delete_val(SeqList *list,ElemType val); //10.按值删除数据:val代表要删除的数据
void sort(SeqList *list); //11.排序
void inverse(SeqList *list); //12.倒置
void clear(SeqList *list);