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);