首页 > 其他分享 >顺序表:删除顺序表中值等于x的所有元素

顺序表:删除顺序表中值等于x的所有元素

时间:2023-02-15 10:36:53浏览次数:35  
标签:表中值 index pbase 顺序 删除 int 元素 plist

一、定义顺序表结构

#define INIT_SIZE 10	///< 顺序表初始容量
typedef int seqType;	///< 定义顺序表元素类型
/// @brief 顺序表结构定义
typedef struct t_sqList
{
	seqType* pbase;	///< 表基址
	int capacity;	///< 表容量
	int size;	///< 表长度
}mySList;

二、删除所有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;
}

标签:表中值,index,pbase,顺序,删除,int,元素,plist
From: https://www.cnblogs.com/kxwslmsps/p/17121864.html

相关文章

  • 顺序表:删除表尾元素
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......
  • 顺序表:删除顺序表第一个元素
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......
  • DM数据库表空间数据文件被误删除
    环境介绍操作系统:CentOS7.6数据库:DM8测试步骤数据文件被删除后,千万不要进行重启,否则会导致数据库无法启动(处于mount状态)。误删除表空间的数据文件后,此时还可以查看表......
  • 顺序表:查找元素x在顺序表中的下标,即定位函数
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......
  • 顺序表:查找元素x是否存在于顺序表中,即查找函数
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......
  • 顺序表:初始化顺序表
    一、顺序表结构定义#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ ......
  • 顺序表:清空和销毁顺序表
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......
  • 顺序表:打印顺序表
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......
  • 顺序表:顺序表扩容
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......
  • linux终端快速删除
    在Linux终端中,您可以使用以下快捷键来快速删除一个单词:在终端中将光标移动到您要删除的单词的开头。按下Ctrl+w。这将删除光标前面的一个单词。如果您需要删除更多的......