首页 > 其他分享 >顺序表-00012-头删法 pop_front、尾删法 pop_back

顺序表-00012-头删法 pop_front、尾删法 pop_back

时间:2022-12-04 02:44:38浏览次数:41  
标签:return back pop 删法 retval plist size

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

      

  • 顺序表头删法
  • /**
    * @brief 功能:头删 \n
    * @param[in] plist:表结构指针
    * @retval OK(1):删除成功
    * @retval ERROR(0):顺序表不存在,删除失败
    * @retval FALSE(0):表为空,删除失败
    */
    status sList_pop_front(mySList* plist)
    {
    	if (plist == NULL || plist->pbase == NULL)
    	{
    		return ERROR;
    	}
    	if (plist->size == 0)
    	{
    		return FALSE;
    	}// 表空,不可删除
    	for (int i = 1; i < plist->size; ++i)
    	{
    		plist->pbase[i - 1] = plist->pbase[i];
    	}
    	plist->size--;
    	return OK;
    }
    

      

  • 顺序表尾删法
  • /**
    * @brief 功能:尾删 \n
    * @param[in] plist:表结构指针
    * @retval - OK(1):删除成功
    * @retval ERROR():顺序表不存在,不可操作
    * @retval FALSE(0):删除失败:表为空无须删除
    */
    status sList_pop_back(mySList* plist)
    {
    	if (plist == NULL || plist->pbase == NULL)
    	{
    		return ERROR;
    	}
    	if (plist->size == 0)
    	{
    		return FALSE;
    	}// 表空,不可删除
    	plist->size--;
    	return OK;
    }
    

      

标签:return,back,pop,删法,retval,plist,size
From: https://www.cnblogs.com/kxwslmsps/p/16949314.html

相关文章