当前位置: 首页 > news >正文

数据结构学习系列之顺序表的两种删除方式

  • 方式1:
  • 在顺序表的末端删除所存储的数据元素,代码如下:
  • 示例代码:
int delete_seq_list_1(list_t *seq_list){if(NULL == seq_list){printf("入参为NULL\n");return -1;}if(0 == seq_list->count){printf("顺序表为空,删除失败\n");return -1;}seq_list->count--;return 0;
}
  • 注意事项:

  • 1.形参传入到具有删除数据元素功能的函数后,需要做入参合理性检查

  • 2.还需要判断此时顺序表所存储的数据元素是否为空

  • 3.count是计数的变量每次删除一个数据元素后,需要减1,此处易忽略

  • 方式2:

  • 在顺序表的任意位置删除数据元素,代码如下:

  • 示例代码:

int delete_seq_list_2(list_t *seq_list,int pos){if(NULL == seq_list){printf("入参为NULL\n");return -1;}if(0 == seq_list->count){printf("顺序表为空,删除失败\n");return -1;}if( pos < 0 || pos >= seq_list->count){printf("删除位置不合理,删除失败\n");return -1;}int i = pos;while(i < seq_list->count-1){seq_list->a[i] = seq_list->a[i+1];i++;}seq_list->count--;return 0;}
  • 注意事项:
  • 1.同方式1:形参传入到具有删除数据元素功能的函数后,需要做入参合理性检查
  • 2.也同方式1:还需要判断此时顺序表所存储的数据元素是否为空
  • 3.判断所要删除数据元素的位置在顺序表中是否合理,一定要区别在任意位置插入数据元素的位置合理性检查,两者略有不同,防止越界操作,所导致运行结果出错
  • 4.可以采用while循环或者for循环的方式找到所要删除数据元素的位置后,此位置之后的所有数据元素,依次向前挪动一个位置,目的是删除所指定的待删除位置
  • 5.删除所指定位置的数据元素后,记得count减1
http://www.lryc.cn/news/160699.html

相关文章:

  • 机器学习笔记之最优化理论与方法(七)无约束优化问题——常用求解方法(上)
  • ES-索引管理
  • linux中常用shell脚本整理
  • 介绍PHP
  • selenium+find_elements用法
  • 1DM+下载器_11.2.1魔改增强版下载
  • vue3:3、项目目录和关键文件
  • ChatGPT实战与私有化大模型落地
  • 10分钟从实现和使用场景聊聊并发包下的阻塞队列
  • Python入门学习13(面向对象)
  • 哈工大计算机网络课程网络安全基本原理之:身份认证
  • 海外代购系统/代购网站怎么搭建
  • go-micro
  • 安装GPU驱动,CUDA Toolkit和配置与CUDA对应的Pytorch
  • JavaScript单例模式
  • centos下安装jenkins.war
  • App线上网络问题优化策略
  • PDF 工具箱
  • 大数据组件系列-Hadoop每日小问
  • 【前端】在Vue页面中引入其它vue页面 数据传输 相互调用方法等
  • 网络通信深入解析:探索TCP/IP模型
  • 可靠的可视化监控平台应用在那些场景?
  • 从 BBR 失速到带宽探测
  • MobaXterm使用sz/rz命令下载上传文件
  • vue el-popover hover延时触发,el-popover 鼠标放上三秒以后触发
  • 计算机竞赛 基于深度学习的人脸识别系统
  • Android扫码连接WIFI实现
  • TrOCR – 基于 Transformer 的 OCR 入门指南
  • MAC终端美化
  • Matlab常用字符串操作教程