kx000001-顺序表-头文件()-其他
kx000001-顺序表-头文件()
- 头文件格式
1 /**
2 * @file mySList.h
3 * @brief 顺序表头文件
4 * @details 定义了函数返类型status及对应的返回值状态标记宏常量
5 * @details 定义了操作函数类型:myOpFunType
6 * @details 定义了元素类型etype
7 * @details 定义了顺序表结构体mySList,及顺序表常用函数的实现
8 */
9
10 #ifndef __mySList_H__
11 #define __mySList_H__
12
13 #define _CRT_SECURE_NO_WARNINGS
14 #include
15 #include
16 #include
17 #include
18
19 // 具体的头文件代码及注释
20 // 。。。。。。
21
22 #endif // !__mySList_H__
1 /**
2 * @file mySList.h
3 * @brief 顺序表头文件
4 * @details 定义了函数返类型status及对应的返回值状态标记宏常量
5 * @details 定义了操作函数类型:myOpFunType
6 * @details 定义了元素类型etype
7 * @details 定义了顺序表结构体mySList,及顺序表常用函数的实现
8 */
9
10 #ifndef __mySList_H__
11 #define __mySList_H__
12
13 #define _CRT_SECURE_NO_WARNINGS
14 #include<cstdio>
15 #include<cstdlib>
16 #include<cstring>
17 #include<cassert>
18
19 // 具体的头文件代码及注释
20 // 。。。。。。
21
22 #endif // !__mySList_H__
- 定义函数返回状态status,结果状态代码,宏常量
void sList_clear(mySList* plist);
// 销毁
void sList_destroy(mySList* plist);// 打印
void sList_output(const mySList* plist, myOpFunType* op);// 求表长
int sList_size(const mySList* plist);// 求表容量
int sList_capacity(const mySList* plist);// 判空
status sList_epmty(const mySList* plist);// 判满
status sList_full(const mySList* plist);// 扩容
status sList_expand(mySList* plist, int inc);// 按位置插入
status sList_insert(mySList* plist, int index, etype x);// 尾插
status sList_push_back(mySList* plist, etype x);// 头插
status sList_push_front(mySList* plist, etype x);// 表尾追加元素
status sList_append(mySList* plist, etype arr[], int n);// 按位置删除
status sList_remove(mySList* plist, int index);// 尾删
status sList_pop_back(mySList* plist);// 头删
status sList_pop_front(mySList* plist);// 定位key元素在表中下标
status sList_locate(const mySList* plist, etype key);// 查找key元素是否存在于顺序表
status sList_find(const mySList* plist, etype key);
void sList_clear(mySList* plist);
// 销毁
void sList_destroy(mySList* plist);
// 打印
void sList_output(const mySList* plist, myOpFunType* op);
// 求表长
int sList_size(const mySList* plist);
// 求表容量
int sList_capacity(const mySList* plist);
// 判空
status sList_epmty(const mySList* plist);
// 判满
status sList_full(const mySList* plist);
// 扩容
status sList_expand(mySList* plist, int inc);
// 按位置插入
status sList_insert(mySList* plist, int index, etype x);
// 尾插
status sList_push_back(mySList* plist, etype x);
// 头插
status sList_push_front(mySList* plist, etype x);
// 表尾追加元素
status sList_append(mySList* plist, etype arr[], int n);
// 按位置删除
status sList_remove(mySList* plist, int index);
// 尾删
status sList_pop_back(mySList* plist);
// 头删
status sList_pop_front(mySList* plist);
// 定位key元素在表中下标
status sList_locate(const mySList* plist, etype key);
// 查找key元素是否存在于顺序表
status sList_find(const mySList* plist, etype key);
- 定义顺序表 SList,定义操作函数 myOpFunType
1 /**
2 * @brief 功能:定义操作函数类型 \n
3 * @param[in] 函数的形参类型:void*
4 * @return 函数的返回值类型:void
5 */
6 typedef void(myOpFunType)(void* node);
7
8 typedef int etype; // 元素数据类型
9
10 /**
11 * @brief 可变长顺序表的表结构: \n
12 * @param[in] etype* pbase:表基址
13 * @param[in] int capacity:表容量,init函数中表初始容量为CAPACITY,这里我设为10
14 * @param[in] int size:表当前长度
15 */
16 typedef struct tag_seqList
17 {
18 etype* pbase;
19 int capacity;
20 int size;
21 }mySList;
1 /**
2 * @brief 功能:定义操作函数类型 \n
3 * @param[in] 函数的形参类型:void*
4 * @return 函数的返回值类型:void
5 */
6 typedef void(myOpFunType)(void* node);
7
8 typedef int etype; // 元素数据类型
9
10 /**
11 * @brief 可变长顺序表的表结构: \n
12 * @param[in] etype* pbase:表基址
13 * @param[in] int capacity:表容量,init函数中表初始容量为CAPACITY,这里我设为10
14 * @param[in] int size:表当前长度
15 */
16 typedef struct tag_seqList
17 {
18 etype* pbase;
19 int capacity;
20 int size;
21 }mySList;
- 顺序表常用函数声明
1 // 初始化
2 status sList_init(mySList* plist, int capacity);
3
4 // 清空
5 void sList_clear(mySList* plist);
6 // 销毁
7 void sList_destroy(mySList* plist);
8 // 打印
9 void sList_output(const mySList* plist, myOpFunType* op);
10 // 求表长
11 int sList_size(const mySList* plist);
12 // 求表容量
13 int sList_capacity(const mySList* plist);
14 // 判空
15 status sList_epmty(const mySList* plist);
16 // 判满
17 status sList_full(const mySList* plist);
18 // 扩容
19 status sList_expand(mySList* plist, int inc);
20 // 按位置插入
21 status sList_insert(mySList* plist, int index, etype x);
22 // 尾插
23 status sList_push_back(mySList* plist, etype x);
24 // 头插
25 status sList_push_front(mySList* plist, etype x);
26 // 表尾追加元素
27 status sList_append(mySList* plist, etype arr[], int n);
28 // 按位置删除
29 status sList_remove(mySList* plist, int index);
30 // 尾删
31 status sList_pop_back(mySList* plist);
32 // 头删
33 status sList_pop_front(mySList* plist);
34 // 定位key元素在表中下标
35 status sList_locate(const mySList* plist, etype key);
36 // 查找key元素是否存在于顺序表
37 status sList_find(const mySList* plist, etype key);
1 // 初始化
2 status sList_init(mySList* plist, int capacity);
3
4 // 清空
5 void sList_clear(mySList* plist);
6 // 销毁
7 void sList_destroy(mySList* plist);
8 // 打印
9 void sList_output(const mySList* plist, myOpFunType* op);
10 // 求表长
11 int sList_size(const mySList* plist);
12 // 求表容量
13 int sList_capacity(const mySList* plist);
14 // 判空
15 status sList_epmty(const mySList* plist);
16 // 判满
17 status sList_full(const mySList* plist);
18 // 扩容
19 status sList_expand(mySList* plist, int inc);
20 // 按位置插入
21 status sList_insert(mySList* plist, int index, etype x);
22 // 尾插
23 status sList_push_back(mySList* plist, etype x);
24 // 头插
25 status sList_push_front(mySList* plist, etype x);
26 // 表尾追加元素
27 status sList_append(mySList* plist, etype arr[], int n);
28 // 按位置删除
29 status sList_remove(mySList* plist, int index);
30 // 尾删
31 status sList_pop_back(mySList* plist);
32 // 头删
33 status sList_pop_front(mySList* plist);
34 // 定位key元素在表中下标
35 status sList_locate(const mySList* plist, etype key);
36 // 查找key元素是否存在于顺序表
37 status sList_find(const mySList* plist, etype key);
- 头文件格式
1 /**
2 * @file mySList.h
3 * @brief 顺序表头文件
4 * @details 定义了函数返类型status及对应的返回值状态标记宏常量
5 * @details 定义了操作函数类型:myOpFunType
6 * @details 定义了元素类型etype
7 * @details 定义了顺序表结构体mySList,及顺序表常用函数的实现
8 */
9
10 #ifndef __mySList_H__
11 #define __mySList_H__
12
13 #define _CRT_SECURE_NO_WARNINGS
14 #include
15 #include
16 #include
17 #include
18
19 // 具体的头文件代码及注释
20 // 。。。。。。
21
22 #endif // !__mySList_H__
1 /**
2 * @file mySList.h
3 * @brief 顺序表头文件
4 * @details 定义了函数返类型status及对应的返回值状态标记宏常量
5 * @details 定义了操作函数类型:myOpFunType
6 * @details 定义了元素类型etype
7 * @details 定义了顺序表结构体mySList,及顺序表常用函数的实现
8 */
9
10 #ifndef __mySList_H__
11 #define __mySList_H__
12
13 #define _CRT_SECURE_NO_WARNINGS
14 #include<cstdio>
15 #include<cstdlib>
16 #include<cstring>
17 #include<cassert>
18
19 // 具体的头文件代码及注释
20 // 。。。。。。
21
22 #endif // !__mySList_H__
- 定义函数返回状态status,结果状态代码,宏常量
void sList_clear(mySList* plist);
// 销毁
void sList_destroy(mySList* plist);// 打印
void sList_output(const mySList* plist, myOpFunType* op);// 求表长
int sList_size(const mySList* plist);// 求表容量
int sList_capacity(const mySList* plist);// 判空
status sList_epmty(const mySList* plist);// 判满
status sList_full(const mySList* plist);// 扩容
status sList_expand(mySList* plist, int inc);// 按位置插入
status sList_insert(mySList* plist, int index, etype x);// 尾插
status sList_push_back(mySList* plist, etype x);// 头插
status sList_push_front(mySList* plist, etype x);// 表尾追加元素
status sList_append(mySList* plist, etype arr[], int n);// 按位置删除
status sList_remove(mySList* plist, int index);// 尾删
status sList_pop_back(mySList* plist);// 头删
status sList_pop_front(mySList* plist);// 定位key元素在表中下标
status sList_locate(const mySList* plist, etype key);// 查找key元素是否存在于顺序表
status sList_find(const mySList* plist, etype key);
void sList_clear(mySList* plist);
// 销毁
void sList_destroy(mySList* plist);
// 打印
void sList_output(const mySList* plist, myOpFunType* op);
// 求表长
int sList_size(const mySList* plist);
// 求表容量
int sList_capacity(const mySList* plist);
// 判空
status sList_epmty(const mySList* plist);
// 判满
status sList_full(const mySList* plist);
// 扩容
status sList_expand(mySList* plist, int inc);
// 按位置插入
status sList_insert(mySList* plist, int index, etype x);
// 尾插
status sList_push_back(mySList* plist, etype x);
// 头插
status sList_push_front(mySList* plist, etype x);
// 表尾追加元素
status sList_append(mySList* plist, etype arr[], int n);
// 按位置删除
status sList_remove(mySList* plist, int index);
// 尾删
status sList_pop_back(mySList* plist);
// 头删
status sList_pop_front(mySList* plist);
// 定位key元素在表中下标
status sList_locate(const mySList* plist, etype key);
// 查找key元素是否存在于顺序表
status sList_find(const mySList* plist, etype key);
- 定义顺序表 SList,定义操作函数 myOpFunType
1 /**
2 * @brief 功能:定义操作函数类型 \n
3 * @param[in] 函数的形参类型:void*
4 * @return 函数的返回值类型:void
5 */
6 typedef void(myOpFunType)(void* node);
7
8 typedef int etype; // 元素数据类型
9
10 /**
11 * @brief 可变长顺序表的表结构: \n
12 * @param[in] etype* pbase:表基址
13 * @param[in] int capacity:表容量,init函数中表初始容量为CAPACITY,这里我设为10
14 * @param[in] int size:表当前长度
15 */
16 typedef struct tag_seqList
17 {
18 etype* pbase;
19 int capacity;
20 int size;
21 }mySList;
1 /**
2 * @brief 功能:定义操作函数类型 \n
3 * @param[in] 函数的形参类型:void*
4 * @return 函数的返回值类型:void
5 */
6 typedef void(myOpFunType)(void* node);
7
8 typedef int etype; // 元素数据类型
9
10 /**
11 * @brief 可变长顺序表的表结构: \n
12 * @param[in] etype* pbase:表基址
13 * @param[in] int capacity:表容量,init函数中表初始容量为CAPACITY,这里我设为10
14 * @param[in] int size:表当前长度
15 */
16 typedef struct tag_seqList
17 {
18 etype* pbase;
19 int capacity;
20 int size;
21 }mySList;
- 顺序表常用函数声明
1 // 初始化
2 status sList_init(mySList* plist, int capacity);
3
4 // 清空
5 void sList_clear(mySList* plist);
6 // 销毁
7 void sList_destroy(mySList* plist);
8 // 打印
9 void sList_output(const mySList* plist, myOpFunType* op);
10 // 求表长
11 int sList_size(const mySList* plist);
12 // 求表容量
13 int sList_capacity(const mySList* plist);
14 // 判空
15 status sList_epmty(const mySList* plist);
16 // 判满
17 status sList_full(const mySList* plist);
18 // 扩容
19 status sList_expand(mySList* plist, int inc);
20 // 按位置插入
21 status sList_insert(mySList* plist, int index, etype x);
22 // 尾插
23 status sList_push_back(mySList* plist, etype x);
24 // 头插
25 status sList_push_front(mySList* plist, etype x);
26 // 表尾追加元素
27 status sList_append(mySList* plist, etype arr[], int n);
28 // 按位置删除
29 status sList_remove(mySList* plist, int index);
30 // 尾删
31 status sList_pop_back(mySList* plist);
32 // 头删
33 status sList_pop_front(mySList* plist);
34 // 定位key元素在表中下标
35 status sList_locate(const mySList* plist, etype key);
36 // 查找key元素是否存在于顺序表
37 status sList_find(const mySList* plist, etype key);
1 // 初始化
2 status sList_init(mySList* plist, int capacity);
3
4 // 清空
5 void sList_clear(mySList* plist);
6 // 销毁
7 void sList_destroy(mySList* plist);
8 // 打印
9 void sList_output(const mySList* plist, myOpFunType* op);
10 // 求表长
11 int sList_size(const mySList* plist);
12 // 求表容量
13 int sList_capacity(const mySList* plist);
14 // 判空
15 status sList_epmty(const mySList* plist);
16 // 判满
17 status sList_full(const mySList* plist);
18 // 扩容
19 status sList_expand(mySList* plist, int inc);
20 // 按位置插入
21 status sList_insert(mySList* plist, int index, etype x);
22 // 尾插
23 status sList_push_back(mySList* plist, etype x);
24 // 头插
25 status sList_push_front(mySList* plist, etype x);
26 // 表尾追加元素
27 status sList_append(mySList* plist, etype arr[], int n);
28 // 按位置删除
29 status sList_remove(mySList* plist, int index);
30 // 尾删
31 status sList_pop_back(mySList* plist);
32 // 头删
33 status sList_pop_front(mySList* plist);
34 // 定位key元素在表中下标
35 status sList_locate(const mySList* plist, etype key);
36 // 查找key元素是否存在于顺序表
37 status sList_find(const mySList* plist, etype key);