面试有可能会被问到

一:冒泡排序

相邻两个数据进行比较

需要注意的点:内部循环的话,只能比较到未确定的最后一个数据为止(arr.length-1-i)

for(int i=0;i<arr.length-1;i++){for(int j=0;j<arr.length-1-i;j++){if(arr[j]>arr[j+1]){temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}
}

二:选择排序

将当前位置的数据作为最小值,依然和后面的数据进行比较,如果还有更小的,记录下坐标,直到循环结束

如果确实有更小的,就将位置进行互换

注意点:minIndex=j

for(int i=0;i<arr.length-1;i++){minIndex=i;for(int j=i+1;j<arr.length;j++){if(arr[minIndex]>arr[j]){minIndex=j;}if(minIndex!=i){temp=arr[i];arr[i]=arr[minIndex];arr[minIndex]=temp;}}
}

数组排序-冒泡排序和选择排序相关推荐

  1. c语言排序需要插空的最小次数,C语言数组排序——冒泡排序、选择排序、插入排序...

    一.冒泡排序 原理解析:(以从小到大排序为例)在一排数字中,将第一个与第二个比较大小,如果后面的数比前面的小,则交换他们的位置. 然后比较第二.第三个--直到比较第n-1个和第n个,此时,每一次比较都 ...

  2. 浅谈排序算法:冒泡排序法和选择排序法的区别

    之前学习了冒泡排序法和选择排序法,最近被老师问某个道题用的是什么排序法.自己居然答不出来,才发现自己没有真正弄懂,这两个算法的原理和区别,所以····· 1冒泡排序法 1.1什么是冒泡排序法? 顾名思 ...

  3. 冒泡排序和选择排序的不同

    文章目录 对比图 冒泡排序的定义 选择排序的定义 冒泡排序和选择排序的主要区别 结论 参考文档     排序是计算机程序中的主要任务之一,数组的元素按特定顺序排列.排序使搜索更容易.冒泡排序和选择排序 ...

  4. 算法与数据结构(冒泡排序,选择排序和插入排序的总结)

    冒泡排序,选择排序和插入排序的总结 在规模较小时,或者元素的有序性较高时,插入排序的时间复杂度可以接近 O(n) ,是上述三种排序里表现最好的 一.通过表格我们可以发现,冒泡排序的时间复杂度是要优于选 ...

  5. JavaSE(二十四)——冒泡排序、选择排序、直接插入排序以及二分查找

    文章目录 1. 冒泡排序 2. 选择排序 3. 直接插入排序 4. 二分查找 1. 冒泡排序 原理:数组元素两两比较,大的往后放,经过一轮比较后,最大元素在最后面,如此往复. 举例说明: 代码: // ...

  6. 冒泡排序、选择排序和插入

    冒泡排序.选择排序和插入排序代码如下: package cn.luxh.app.test;public class SimpleSortUtil {/*** 冒泡排序* 从小到大排序* 思路:* 1) ...

  7. C语言排序(桶排序,冒泡排序,选择排序,插入排序,快速排序)

    参考:C语言五大排序(桶排序,冒泡排序,选择排序,插入排序,快速排序)动态演示 作者:一只青木呀 发布时间: 2020-09-09 20:18:43 网址:https://blog.csdn.net/ ...

  8. 掌握常见的内部排序方法(插入排序,冒泡排序,选择排序,快速排序,堆排序,希尔排序,归并排序,基数排序等)...

    掌握常见的内部排序方法(插入排序,冒泡排序,选择排序,快速排序,堆排序,希尔排序,归并排序,基数排序等). 数组高级以及Arrays(掌握) 排序方法 空间复杂度 时间复杂度 稳定性 插 入 排 序 ...

  9. 冒泡排序和选择排序区别_你以为只是简单的排序?(一)

    一直在犹豫要不要写排序的文章,因为真的烂大街了.可是一旦细看,还真是很多值的思考的地方,所以还是选择记录一下 以下完整代码,均可从这里获取 https://github.com/Rain-Life/d ...

  10. Python排序算法(一)冒泡排序、选择排序、插入排序

    今天总结一下Python中的排序算法.这篇文章有的排序算法是:冒泡排序.选择排序.插入排序. 冒泡排序 先看一下代码. ''' 冒泡排序 '''def bubble_sort(aList):n = l ...

最新文章

  1. 在Ubuntu 16.04.5 LTS上利用python 2.7版本的pillow库拼接近千张图片实录
  2. 【约束布局】ConstraintLayout 13 种相对定位属性组合 ( 属性组合 | 用法说明 )
  3. 浙江大学计算机保研条件_看了就想录取的简历长啥样?保研简历千万别踩这些坑!...
  4. IntelliJ IDEA 超实用技巧分享,不能再全了!
  5. c++ vector 赋值_C++中vector用法
  6. 【linux】学习2
  7. 为什么使用HashMap需要重写hashcode和equals方法_不同时重写equals和hashCode又会怎样?听听过来人的经验...
  8. 人机交互,加速机器人拟人化
  9. uni-app获取当前具体日期时间并将其格式化
  10. Template Power
  11. 基于微信小程序的智能推荐点餐系统(附全部代码)
  12. Java菜鸟教程 一些简单的练习
  13. 《Linux运维实战:免费md5解密工具》
  14. cass道路设计教程_cass道路曲线设计
  15. python实现坐标求取_根据相机位姿求指定点的世界坐标及其python实现
  16. BUU MISC(5_10-5_14)
  17. 虚拟主机终极选购指南
  18. 动态海报,一次 Computational Design 实验
  19. 全球时间与北京时间、UTC时间关系表
  20. 解决U盘使用DVD镜像安装Fedora15需要联网的问题

热门文章

  1. java-循环变量定义问题
  2. poj 1852 Ants
  3. Linux ssh服务开启秘钥和密码认证
  4. swith case
  5. 成功创业者培养的四个习惯
  6. poj 3253 哈夫曼树 经典 运用了优先队列 总和最少
  7. 【大数据部落】R语言电信公司churn数据客户流失 k近邻(knn)模型预测分析
  8. 拓端tecdat|R语言Bass模型进行销售预测
  9. (27)python-多维数组
  10. 基于最大正向匹配算法的中文分词