一、顺序表结构定义
#define INIT_SIZE 10 // 顺序表初始容量
typedef void(myOpFunType)(void*); // 定义操作函数类型
typedef int seqType; // 定义顺序表元素类型
// 定义顺序表结构体
typedef struct t_sqList
{
seqType* pbase; // 表基址
int capacity; // 表容量
int size; // 表长度
}mySList;
二、顺序表:用C语言实现:删除顺序表中元素值等于x的所有元素
/**
***********************************************************************
* @brief 功能: 删除表中值等于x的所有元素 \n
* @param[in] plist:顺序表结构指针
* @param[in] x:待删元素值
* @retval ERROR(0):顺序表不存在,不可操作
* @retval OK(1):删除成功
* @note 若将status
***********************************************************************
*/
status sList_removeX(mySList* plist, seqType x)
{
if (NULL == plist || NULL == plist->pbase)
{
return ERROR;
}
int i = 0; // 用i遍历表,取pbase[i]元素
int index = 0; // 将不等于x的元素存到结果表pbase[index]中
while (i < plist->size)
{
// 若元素值等于x,则该元素不存放到结果表中。继续遍历剩下元素
if (x == plist->pbase[i])
{
++i;
continue;
}
plist->pbase[index++] = plist->pbase[i++];
}
plist->size = index;
return OK;
}
标签:pbase,顺序,--,元素,int,表中,plist From: https://www.cnblogs.com/kxwslmsps/p/17109956.html