首页 > 其他分享 >kx-顺序表:删除顺序表中下标为index的元素

kx-顺序表:删除顺序表中下标为index的元素

时间:2023-02-15 20:34:25浏览次数:39  
标签:index 顺序 下标 删除 表中 plist size

一、定义顺序表结构

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

二、按位置删除

1、思路

2、代码

/// @brief 功能:删除index下标处的元素
/// @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参数不符合要求
	}
	// i的含义是被移动元素的下标范围[pos+1,size-1]
	for (int i = index + 1; i < plist->size; ++i)
	{
		plist->pbase[i - 1] = plist->pbase[i];
	}
	plist->size--;
	return OK;
}


标签:index,顺序,下标,删除,表中,plist,size
From: https://www.cnblogs.com/kxwslmsps/p/17124550.html

相关文章

  • [ABC267D] Index × A(Not Continuous ver.) 题解
    [ABC267D]Index×A(NotContinuousver.)Solution目录[ABC267D]Index×A(NotContinuousver.)Solution更好的阅读体验戳此进入题面SolutionCodeUPD更好的阅读体......
  • [ABC267D] Index × A(Not Continuous ver.) 题解.
    [ABC267E]ErasingVertices2Solution目录[ABC267E]ErasingVertices2Solution更好的阅读体验戳此进入题面SolutionCodeUPD更好的阅读体验戳此进入题面给定$n$......
  • 无法加载源 https://api.nuget.org/v3/index.json 的服务索引
    .net6之后,不会随项目生成packages文件夹,将项目拷贝到无联网的电脑上用VS打开时,会出现nuget还原失败的情况,只需要把原电脑中的用户文件夹下的.nuget文件夹拷贝过去,放到对应......
  • kx-顺序表:顺序表表尾追加元素
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......
  • kx-顺序表:打印顺序表
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......
  • kx-顺序表:查找元素x在表中下标
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......
  • kx-顺序表:查找元素是否在表中
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......
  • kx-顺序表:顺序表扩容
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......
  • kx-顺序表:顺序表结构定义
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......
  • kx-顺序表:顺序表头文件定义
    一、公共头文件#ifndef__MYHEAD_H__#define__MYHEAD_H__/*******************************************************************@file:myhead.h*@brief:公......