- 顺序表结构定义
-
typedef int seqType; // 定义顺序表数据类型 // 定义顺序表的结构体 typedef struct t_sList { seqType* pbase; // 表基址 int capacity; // 表容量 int size; // 表长度 }mySList;
- 顺序表,表尾追加元素
-
/** * @brief 功能:将数组arr元素逐个追加到表尾 \n * @param[in] plist:表结构指针 * @param[in] arr:数组 * @param[in] n:数组元素个数 * @retval OK(1):追加成功 * @retval ERROR(0):顺序表不存在,追加失败 * @retval ERR_PARA(-1):追加失败:没有待追加的数组元素 * @retval OVERFLOW(-2):追加失败:容量不足且扩容失败 */ status sList_append(mySList* plist, seqType pdata[], int n) { if (plist == NULL || plist->pbase == NULL) { return ERROR; } if (n < 1 || pdata == NULL) { return ERR_PARA; } int inc = plist->size + n - plist->capacity; if (inc > 0 && (OK != sList_expand(plist, inc))) { return OVERFLOW; } for (int i = 0; i < n; ++i) { plist->pbase[i + plist->size] = pdata[i]; } plist->size += n; return OK; }