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

C语言数组常见算法

1.基本查找/顺序查找

1.核心思路:从数组0索引开始,依次往后查找,若找到就会返回数据对应索引,若没找到,返 回-1

实操实例:

2.二分查找/折半查找

1.前提条件:数组中的数据必须是有序的

2.核心逻辑:每次排除一半查找范围

3.步骤

1.定义min和max为最小索引和最大索引

2.min和max表示当前要查找的范围

3.定义mid为min和max的平均数

4.要查找的元素在mid左边,缩小范围时,min不变,max=mid+1

5.要查找的元素在mid的右边,缩小范围时,max不变,min=mid+1

实操实例:

3.插值查找

1.本质:二分查找改进

2.公式

3.要求:数据要有序,且数据分布尽可能均匀一点

4.优势:满足要求:效率比二分查找快,否则反而会更慢

4.分块查找

1.原则

1.前一块中最大的数据,小于后一块中所有的数据(块内无序,块间有序)

2.快数数量一般等于数字的个数开根号

2.核心思路:先确定要查找的元素在那一块,然后再块内挨个查找

5.冒泡排序

1.核心思想:相邻的两数据比较,小的放前面,大的放后面

2.思路:

6.选择排序

1.从0索引开始,拿着每一个索引上的元素跟后面的元素依次比较,小的放前面,大的放后面, 依次类推

2.思路:

实操实例:

http://www.zskr.cn/news/183506.html

相关文章:

  • BugKu-sqli-0x1
  • XUnity翻译神器:10分钟搞定Unity游戏多语言化终极指南
  • LightCtrl:华硕笔记本终极轻量级控制工具完整指南
  • ⚡_实时系统性能优化:从毫秒到微秒的突破[20251230161633]
  • 【课程设计/毕业设计】基于SpringBoot社区住户信息管理系统【附源码、数据库、万字文档】
  • GHelper:你的华硕笔记本性能调节神器
  • HTML Canvas动态渲染|Miniconda-Python3.10输出PyTorch实时预测
  • 8位加法器电路设计:系统学习与实践
  • 如何彻底关闭Windows11更新?禁止win11更新有机会方法工具?
  • 计算机Java毕设实战-基于SpringBoot少数民族服饰在线销售系统的设计与实现服装商场、商城管理、在线支付、订单处理【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 10款降AI率工具盘点(含最新免费可用版~)
  • 233魔方、圆柱233A
  • GitHub CI/CD流水线集成Miniconda-Python3.10自动测试PyTorch代码
  • Java毕设项目:基于SpringBoot少数民族服饰在线销售系统的设计与实现(源码+文档,讲解、调试运行,定制等)
  • AI原生应用领域的思维树:未来发展趋势
  • 数学物理方程知识点总结
  • Python安装依赖超时?Miniconda-Python3.10启用国内镜像源
  • 【毕业设计】基于SpringBoot框架的线上订餐管理系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • 【毕业设计】基于SpringBoot少数民族服饰在线销售系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • Java计算机毕设之基于SpringBoot框架的线上订餐管理系统的设计与实现基于Spring Boot的网上订餐系统设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • 实测10款降AI率工具:论文AIGC痕迹太重?帮你免费降低AI率,还有免费ai查重!
  • 试试2个免费工具!亲测10款免费降ai率工具推荐(2025年12月最新版)
  • Java毕设选题推荐:基于SpringBoot少数民族服饰在线销售系统的设计与实现基于springboot+vue的少数民族服饰与文化系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Java毕设项目推荐-基于SpringBoot+Vue的二手数码产品交易平台的开发与实现【附源码+文档,调试定制服务】
  • 基于SpringBoot + Vue的胡杨河市果蔬销售系统
  • Java计算机毕设之基于SpringBoot的民宿管理系统的设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • 基于机器学习的钢筋计数算法系统
  • 基于Django技术的建材销售平台
  • 基于Django + Vue的实验动物管理系统
  • Java毕设项目:基于SpringBoot社区住户信息管理系统(源码+文档,讲解、调试运行,定制等)