冒泡排序基本思想

      1.比较相邻的元素,如果第一个比第二个大,就交换它们两个。

      2.对每一对相邻元素做同样的工作,从开始的第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

      3.针对所有的元素重复以上的步骤,除了最后一个。

      4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

 1 package cn.hst.hh;
 2
 3 import java.util.Arrays;
 4
 5 /**
 6  * 测试冒泡排序
 7  * @author Trista
 8  *
 9  */
10 public class TestBubbleSort {
11     public static void main(String[] agrs) {
12         int[] values = {3,1,6,2,9,0,7,4,5,8};
13         int temp = 0;
14         for(int i=values.length-1;i>0;i--) {
15             int count = 0;
16             boolean flag = true;
17             for(int j=0;j<i;j++) {
18                 if(values[j]>values[j+1]) {
19                     temp = values[j];
20                     values[j] = values[j+1];
21                     values[j+1] = temp;
22                     flag = false;
23                 }
24                 count++;
25             }
26             if(flag) {      //如果没有交换,则认为已经排好
27                 break;
28             }
29             System.out.println(Arrays.toString(values));
30             System.out.println("共"+count+"次");
31             System.out.println("################");
32         }
33             System.out.println(Arrays.toString(values));
34         }
35
36 }

转载于:https://www.cnblogs.com/Trista-ddt/p/10589565.html

冒泡排序(Java版)相关推荐

  1. 【冒泡排序Java版】

    Java冒泡排序 思路 :核心是每一轮都进行两两比较,大或小的往一边走,走完一轮就排好一个.走完所有的轮数后就有序了. public class 冒泡排序 {public static void ma ...

  2. 冒泡排序-java版

    快排的的代码我也贴出来了,快排算是冒泡的优化,性能比冒泡好多了 快排传送门 public class MyBubbleSortDemo {public static void main(String[ ...

  3. 经典十大排序算法(含升序降序,基数排序含负数排序)【Java版完整代码】【建议收藏系列】

    经典十大排序算法[Java版完整代码] 写在前面的话 十大排序算法对比 冒泡排序 快速排序 直接选择排序 堆排序 归并排序 插入排序 希尔排序 计数排序 桶排序 基数排序 完整测试类 写在前面的话   ...

  4. 经典排序算法(Java版)

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 经典排序 ...

  5. 内部排序比较(Java版)

    内部排序比较(Java版) 2017-06-21 目录 1 三种基本排序算法 1.1 插入排序 1.2 交换排序(冒泡) 1.3 选择排序(简单) 2 比较 3 补充 3.1 快速排序 3.2 什么是 ...

  6. java内置排序有哪些_内部排序比较(Java版)

    内部排序比较(Java版) 2017-06-21 目录 1 三种基本排序算法 1.1 插入排序 public static void InsertSort(int[] arrs) {intj;intt ...

  7. Java算法:牛客网Java版剑指Offer全套算法面试题目整理及电子档,Java算法与数据结构面试题,面试刷题、背题必备!牛客网剑指offer

    剑指offer(java版) 牛客网Java版剑指Offer全套题目67道 资源来源于网络 目录 1.二维数组中的查找 2.替换空格 3.从尾到头打印链表 4.重建二叉树 5.用两个栈实现队列 6.旋 ...

  8. 常见数据结构和算法实现(排序/查找/数组/链表/栈/队列/树/递归/海量数据处理/图/位图/Java版数据结构)

    常见数据结构和算法实现(排序/查找/数组/链表/栈/队列/树/递归/海量数据处理/图/位图/Java版数据结构) 数据结构和算法作为程序员的基本功,一定得稳扎稳打的学习,我们常见的框架底层就是各类数据 ...

  9. 超大数相乘的java代码,java版大数相乘

    在搞ACM的时候遇到大数相乘的问题,在网上找了一下,看到了一个c++版本的 用java搞了一个版本 这里说一下思路 将数字已字符串形式接收,转换成int[]整型数组,然后num1[],num2[]依次 ...

  10. 数据结构与算法基础(java版)

    目录 数据结构与算法基础(java版) 1.1数据结构概述 1.2算法概述 2.1数组的基本使用 2.2 数组元素的添加 2.3数组元素的删除 2.4面向对象的数组 2.5查找算法之线性查找 2.6查 ...

最新文章

  1. javax/management/DynamicMBean
  2. g++报错解决:error: ‘setw’ is not a member of ‘std’
  3. 面向对象编程--之二
  4. linux c语言 readline,Linux C代码实现读取配置文件示例
  5. ZOJ 2702 Unrhymable Rhymes(DP)
  6. 设计模式(一)----单例模式
  7. Java多线程之迭代器问题(四)
  8. Codeforces Round #174 (Div. 2) Cows and Primitive Roots(数论)
  9. TensorFlow HOWTO 2.2 支持向量回归(软间隔)
  10. MySQL在远程访问时非常慢的解决skip-name-resolve
  11. php 建站要学,建站新手如何开始学习php?
  12. Spring Boot内嵌Tomcat原理
  13. 【oracle】中文数字转阿拉伯数字
  14. 稀疏光流python_《稀》字意思读音、组词解释及笔画数 - 新华字典 - 911查询
  15. Hello JSP!——指令元素之page篇(最后有疑问求解,感激不尽)
  16. Android中夜间模式的三种实现方式
  17. 新手上路——树莓派3B+换源
  18. 愿你学会优雅地控制自己的情绪
  19. dedecms 对不起,你输入的参数有误修改
  20. 数据库mysql---NUMERIC数据类型

热门文章

  1. [TimLinux] JavaScript 元素动态显示
  2. IOS上传文件给java服务器,返回报错unacceptable context-type:text/plain
  3. 程序2:word count
  4. java作业 2.6
  5. 关于重构之Switch的处理【二】
  6. asp.net MD5加密函数(c#)
  7. ElasticSearch客户端注解使用介绍
  8. Statement与PreparedStatement的区别
  9. 《计算机科学概论(第12版)》—第0章0.3节学习大纲
  10. Spring+SpringMVC+MyBatis+easyUI整合基础篇(十)SVN搭建