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

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

时间:2023-02-10 02:44:05浏览次数:46  
标签:index 顺序 删除 -- remove kx00010 int plist size

一、顺序表结构定义

#define INIT_SIZE 10			// 顺序表初始容量
typedef void(myOpFunType)(void*);	// 定义操作函数类型
typedef int seqType;			// 定义顺序表元素类型

// 定义顺序表结构体
typedef struct t_sqList
{
	seqType* pbase;		// 表基址
	int capacity;		// 表容量
	int size;		// 表长度
}mySList;

 

 

二、顺序表:按位置删除表元素,remove

/**
************************************************************************
* @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参数不符合要求
	}
	// 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,顺序,删除,--,remove,kx00010,int,plist,size
From: https://www.cnblogs.com/kxwslmsps/p/17107640.html

相关文章

  • kx00008-顺序表--顺序表尾插法
    一、顺序表结构定义#defineINIT_SIZE10 //顺序表初始容量typedefvoid(myOpFunType)(void*); //定义操作函数类型typedefintseqType; //定义顺序表元素类型......
  • Unity Shader 真实感水体渲染
    这两周用UnityShader做了点简单的水体渲染,有真实感的也有非真实感的,打算这几天总结整理一下贴出来。毛星云大牛有一篇详细的真实感水体渲染介绍:https://zhuanlan.zhihu.c......
  • Codeforces Round #851 (Div. 2) 题解
    CodeforcesRound#851(Div.2)题解A.OneandTwo取\(\log_2\),变成加号,前缀和枚举\(s[i]=\dfrac{s[n]}{2}\)。B.SumofTwoNumbers对于每一位,如果是偶数则平均......
  • [Typescript] Using type predicates
     import{expect,it}from"vitest";import{Equal,Expect}from"../helpers/type-utils";exportconstvalues=["a","b",undefined,"c",undefined];c......
  • 决战圣地玛丽乔亚Day08
    RocketMQ分布式事务   相对于本地事务,分布式事务是为了满足跨数据源或跨服务的事务场景。上图展示了RocketMQ在分布式事务中的应用,满足CAP定理中的AP,保证最终一致......
  • 二叉树
    #include<stdio.h>#include<stdlib.h>typedefstructTree{intdata; // 存放数据域structTree*lchild; // 遍历左子树指针structTree*rchild; // 遍历右......
  • cracking the System Design tech interview All In One
    crackingtheSystemDesigntechinterviewAllInOne破解系统设计技术面试SystemDesignhttps://github.com/donnemartin/system-design-primerhttps://github.c......
  • kx00007-顺序表--插入函数
    一、顺序表结构定义#defineINIT_SIZE10 //顺序表初始容量typedefvoid(myOpFunType)(void*); //定义操作函数类型typedefintseqType; //定义顺序表元素类型......
  • ACP云原生容器工程师-ACK概述
    ACK简介阿里云容器服务ACK,是阿里云针对云原生推出的拳头产品,基于原版Kubernetes进行适配和增强,简化集群的搭建和运维工作,整合阿里云虚拟化、存储、网络和安全能力,使得扩容......
  • kx00006-顺序表--将数组元素依次追加到顺序表表尾
    一、顺序表结构定义#defineINIT_SIZE10 //顺序表初始容量typedefvoid(myOpFunType)(void*); //定义操作函数类型typedefintseqType; //定义顺序表元素类型......