#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define NFEASIBLE -1//不能实行
#define OVERFLOW -2//内存溢出
typedef int Status;//状态
bool insertItem(seqlist* plist, int pos, elemtype val)
{
assert(plist != NULL);
if (pos<0 || pos>plist->cursize)
{
return NFEASIBLE;
}
if (isfull(plist) && !Inc_capacity(plist))
{
return OVERFLOW;
}
for (int i = plist->cursize; i > pos; --i)
{
plist->data[i] = plist->data[i - 1];
}
plist->data[pos] = val;
plist->cursize += 1;
return true;
}
分析 insertItem的返回值,两个false无法判断错误原因,所以修改,添加宏定义,增强可读性。
顺序表删除数据(删除pos位置的值)
Status EraseI