最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

天天热消息:kx00015-顺序表--用C语言实现:删除顺序表中元素值等于x的所有元素

来源:博客园


(相关资料图)

一、顺序表结构定义

#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;}

关键词: