目录
一、基本概念
顺序表是可以动态改变大小的数组
顺序表的特点是确定起始位置,数据可以通过指定位置得到:首地址+(位置*偏移的大小)
顺序表的功能:增、删、改、查
顺序表存储空间的大小 = 表长*sizeof(元素类型)
二、头文件
(一)防止头文件重复包含
#pragma once // 防止头文件重复包含(VS独有)
#ifndef ARRAY // 防止头文件重复包含
#define ARRAY
#endif // 放在最后
(二)顺序表数据结构的定义
typedef int Type; // 给数据类型取别名,便于使用,能够做到一改全改
#define TYPE_P "%d\t" //"%c\t" 用TYPE_P代表“%d\t” 输出
#define TYPE_S "%d" //"%c" 输入
(三)顺序表结构体类型
typedef struct Array{
Type *data; // 数据域:指向一个存储数据的内存空间
int lenth; // 长度:顺序表中当前元素个数
}array; // 别名array
(四)报错功能
#define ERROR(str) printf("错误:%s\t文件名:%s\t函数名:%s\t行数%d\n",str, __FILE__, __FUNCTION__, __LINE__)
(五)功能函数的声明
array *arr_init(); // 顺序表的创建,返回array类型的指针
void arr_push(array *arr,Type elem); // 向顺序表尾部插入数据(尾插法)
void arr_insert(array *arr, int index, Type elem); // 向顺序表指定位置插入数据
Type arr_remove(array *arr, int index); // 顺序表数据元素的删除,返回被删除元素的值
void arr_out(array *arr); // 顺序表的输出
void arr_free(array * arr); // 顺序表的销毁
void arr_clear(array * arr); // 顺序表的重置(重置为空表)
int arr_empty(array * arr); // 顺序表判空(判断顺序表释放为空)
三、函数功能实现
(一)声明头文件
#include "Array.h" // 顺序表头文件