首页 > 其他分享 >顺序表-00011-按位置删除元素,remove

顺序表-00011-按位置删除元素,remove

时间:2022-12-04 02:44:52浏览次数:43  
标签:index 顺序 删除 int remove 00011 plist size

  • 顺序表结构定义
  • typedef int seqType;	// 定义顺序表数据类型
    
    // 定义顺序表的结构体
    typedef struct t_sList
    {
    	seqType* pbase;		// 表基址
    	int capacity;		// 表容量
    	int size;			// 表长度
    }mySList;
    

      

  • 顺序表:按位置删除元素
  • /**
    * @brief 功能:删除index下标处的元素 \n
    * @param[in] plist:表结构指针
    * @param[in] index:待删元素下标
    * @retval OK(1):删除成功
    * @retval ERROR(0):顺序表不存在,删除失败
    * @retval FALSE(0):表为空,删除失败
    * @retval ERR_PARA(-1):待删元素下标不在[0,size-]范围,删除失败
    */
    status sList_remove(mySList* plist, int index)
    {
    	if (plist == NULL || plist->pbase == NULL)
    	{
    		return ERROR;
    	}
    	if (plist->size == 0)
    	{
    		return FALSE;
    	}// 表空,不可删除
    	if (index<0 || index>plist->size - 1)
    	{
    		return ERR_PARA;
    	}// index参数不符合要求
    	for (int i = index + 1; i < plist->size; ++i)
    	{
    		plist->pbase[i - 1] = plist->pbase[i];
    	}// i的含义是被移动元素的下标范围[pos+1,size-1]
    	plist->size--;
    	return OK;
    }
    

      

标签:index,顺序,删除,int,remove,00011,plist,size
From: https://www.cnblogs.com/kxwslmsps/p/16949313.html

相关文章