前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >php学习之数组的相关知识-冒泡排序

php学习之数组的相关知识-冒泡排序

作者头像
吾爱乐享
发布2019-12-30 17:02:55
5940
发布2019-12-30 17:02:55
举报
文章被收录于专栏:吾爱乐享吾爱乐享

说明:

排序就是对某组数据进行升序或降序的方式排列,排序都是针对的索引数组

排序就是将一组数据按照指定的顺序进行排列的过程

排序的分类:

  1. 内部排序:指将需要处理的数据都加载到内部存储器中进行排序,包括交换式排序,选择试排序和插入式排序
  2. 外部排序:数据量过大,无法全部加载到内存,需要借助外部存储进行排序,包括合并排序和直接合并排序法

冒泡排序

基本思想:通过对待排序序列从后到前(从下标较大的元素开始)一次比较相邻元素的排序码明若发现逆序则交换,使排序较小的元素逐渐从后向前移动,就像水底气泡一样逐渐向上冒

因为排序的过程中,各元素不断接近自己的位置,如果一躺比较下来没有进行过交换没救说明序列有序,因此要在排序过程汇总设置一个标志判断元素是否进行过交换,从而减少不必要的比较

从小到大排序或从大到小排序

找到从最大的下标的值和前面的值进行比较,如果前面小于后面的值,进行位置交换,以此类推,一直找到当前最大值,一次完成,继续找第二大下标的值进行比较,和它前面的值交换位置,以此类推最终排序完成

如:$arr = array(11,22,44,67,95,33,43)从小到大排序:11,22,33,43,44,67,95

冒泡原理:

  1. 从小到大排序,确定数组的长度
  2. 循环遍历找出每个值
  3. 每一个值和它下一个值进行比较,本身不比较,每次比较取出一个最小值
  4. 进行大小值交换
  5. 排序

选择排序

说明:从数组中选择一个数和其他进行比较,如果大于比较的数,交换位置

选择一个我们自己想象的一个数组为最大或最小

基本思想:

第一次从arr[0]-arr[n-1]中选取最小值,与arr[0]交换,

第二次从arr[1]-arr[n-1]中选取最小值,与arr[1]交换,

第三次从arr[2]-arr[n-1]中选取最小值,与arr[2]交换,

……

比如:$arr = array(11,55,22,44,99,77,66,33,88);从小到大排序

选择一个自己想象的最小值,一般选arr[0]的值,和后面的比较,如果大于后面的数组,这两个位置交换

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-09-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 说明:
  • 冒泡排序
  • 选择排序
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档