上一篇文章说了,选择排序。

选择排序的原理就是,先确定第一个格子当中的数字是最小的,之后确定第二个格子是其他数字中最小的依次类推。

这一节当中我们来看下冒泡排序:

思路:

  1、首先拿第一个数字跟第二个比,如果第二个数字大于第一个数字,那么保持各自位置,否则交换位置,让数字更小的那一个在前面,数字较大的在后面。第一个跟第二个比较完之后,紧接着第二个跟第三个进行比较,比较的原则也是根据第一次比较的原则,这样比较下去一直到数组的结尾,我们得到的是这个数组中的最大值,并且这个最大值在数组的结尾处。也就是说最末尾的值我们现在已经确定了,我们接下来确定的就是次末尾的值。然后再想之前那样循环遍历比较,只是此时的长度减一。

代码:

class SelectSort
{public static void main(String[] args) {int[] arr = {12,87,34,39,134,4,45,8,21233,99};printArr(arr);//selectSort(arr);maopaoSort(arr);printArr(arr);}public static void selectSort(int[]  arr){for(int i = 0; i<arr.length-1; i++){for(int a = i + 1; a<=arr.length-1 ; a++){/***   if(arr[i]>arr[a])*   {*      int temp = arr[i];*        arr[i] = arr[a];*      arr[a] = temp;*    }*/if(arr[i]>arr[a])swap(arr,i,a);}}}public static void maopaoSort(int[] arr){for(int n = 0 ; n<arr.length-1 ; n++){for(int i = 0 ; i < arr.length-1-n ; i++){if(arr[i]>arr[i+1])swap(arr,i,i+1);}}}public static void printArr(int[] arr){System.out.print("[");for(int i=0 ; i<arr.length ; i++){System.out.print(arr[i]);if(i<arr.length-1)System.out.print(",");}System.out.print("]");System.out.println();}public static void swap(int[]arr,int x, int y){int temp;if(arr[x]>arr[y]){temp = arr[x];arr[x] = arr[y];arr[y] = temp;}}}

  

转载于:https://www.cnblogs.com/sunchuanzhen/p/3324023.html

java数组排序之冒泡排序相关推荐

  1. Java数组排序(冒泡排序)

    数组高级冒泡排序 冒泡排序原理         相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处 图解:  推导过程: 数组: int[] arr= {24, 69, 80, 57, ...

  2. 数组降序排列_Javase基础部分:数组排序(冒泡排序)(含视频讲解)

    数组排序(冒泡排序) 知乎视频​www.zhihu.com 本套课程讲解详细深入,内容丰富,包含了数据结构.JVM.GC等大厂常见的面试知识精讲,而且配有在线的预习文档+课堂笔记+每天作业,可以缩短你 ...

  3. java数组排序法方法_JAVA数组中五种常见排序方法

    前言: 几种常用的JAVA数组排序方法的整合. 法一:Arrays.sort() Arrays.sort()排序方法在java中是最简单且最常用的排序方法 int []arr1= {45,34,59, ...

  4. java数组排序的几种方法

    因为看书看到了java数组排序,所以将常用的几种排序方法写下来,仅供参考. (1)用sort排序(从小到大) int[] arr = {5,2,66,3,7}; Arrays.sort(arr);// ...

  5. java里冒泡排序编程案例_java编程题:用Java实现一个冒泡排序算法

    /** * java编程题:用Java实现一个冒泡排序算法 */ public class Test12 { public static void main(String[] args) { int[ ...

  6. java算法之冒泡排序法

    冒泡排序法 口诀:外层循环 0到n-1 //控制比较轮数 n 表示元素的个数内层循环 0到n-i-1 //控制每一轮比较次数两两比较做交换   冒泡排序的优点:每进行一趟排序,就会少比较一次,因为每进 ...

  7. java算法:冒泡排序

    java算法:冒泡排序 冒泡排序:不断遍历文件,交换倒序的相邻元素,直到文件排好顺序.冒泡排序的主要优点是容易实现,冒泡排序通常会比选择排序.插入排序慢. 如,对EXAMPLE 字母进行排序:  E  ...

  8. java排序链表冒泡排序_Java中的冒泡排序

    java排序链表冒泡排序 Java Sorting is one of the many aspects of java interview questions. In this post, we w ...

  9. java冒泡排序_冒泡排序法丨java、python冒泡排序实现代码

    冒泡排序算法思想: 让数组中的两个相邻数字进行比较,数组中较大的值向下沉,值小的上浮,就类似于水中的气泡,较大的下沉,较小的上升,慢慢冒出来.简单的说就是数值大的会慢慢往前排,数据值小的会慢慢向后排, ...

最新文章

  1. UVa10905 - Children's Game(贪心算法)
  2. 组件化与插件化的差别在哪里?附面试题答案
  3. java自学笔记_JAVA自学笔记(4)
  4. 面试归来,感觉无望,下次再战
  5. 东京disney sea流水账 2
  6. vim复制,粘贴,删除,撤销,替换,光标移动等用法
  7. [转]struct和class的区别 观察者模式 https连接 点击button收到点
  8. linux环境安装的odac,net不安装Oracle11g客户端直接使用ODAC
  9. delphi android 截屏,Delphi 截图\截屏
  10. java聚群_人工鱼群算法超详细解析附带JAVA代码
  11. html span向上对齐,css也能让span靠左布局
  12. js html 测反应速度游戏,利用JS测试目标网站的打开响应速度
  13. 切换页面导致计时器停止,JS暂停!
  14. 人生有如负重致远,不可急躁
  15. HI3861学习笔记(14)——ADC接口使用
  16. 百度千言-中文文本相似度实战
  17. ObjectARX-学习笔记
  18. 静态顺序表和动态顺序表区别
  19. 长沙哪里学青少年计算机编程,长沙青少年培训编程-青少年编程教育(人工智能编程)...
  20. 【SQL】Sql Server SQL语句学习

热门文章

  1. 第五部份 01 深入JavaScript与.NET Framework中的日期时间 JavaScript中的Date类型
  2. (原创)按照一定的格式生成一定数量的随机数的例子
  3. SQL查询表对应的外键约束
  4. 宝塔php open_basedir restriction in effect
  5. 树状数组 _ 求逆序数
  6. WPF 中动态创建和删除控件
  7. JS——EasyuiCombobox三级联动
  8. ActionBarSherlock包的使用
  9. Pro LINQ 之三:LINQ to DataSet
  10. 国际:什么是程序员的优秀品质