冒泡排序(Java版)
冒泡排序基本思想:
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版)相关推荐
- 【冒泡排序Java版】
Java冒泡排序 思路 :核心是每一轮都进行两两比较,大或小的往一边走,走完一轮就排好一个.走完所有的轮数后就有序了. public class 冒泡排序 {public static void ma ...
- 冒泡排序-java版
快排的的代码我也贴出来了,快排算是冒泡的优化,性能比冒泡好多了 快排传送门 public class MyBubbleSortDemo {public static void main(String[ ...
- 经典十大排序算法(含升序降序,基数排序含负数排序)【Java版完整代码】【建议收藏系列】
经典十大排序算法[Java版完整代码] 写在前面的话 十大排序算法对比 冒泡排序 快速排序 直接选择排序 堆排序 归并排序 插入排序 希尔排序 计数排序 桶排序 基数排序 完整测试类 写在前面的话 ...
- 经典排序算法(Java版)
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 经典排序 ...
- 内部排序比较(Java版)
内部排序比较(Java版) 2017-06-21 目录 1 三种基本排序算法 1.1 插入排序 1.2 交换排序(冒泡) 1.3 选择排序(简单) 2 比较 3 补充 3.1 快速排序 3.2 什么是 ...
- java内置排序有哪些_内部排序比较(Java版)
内部排序比较(Java版) 2017-06-21 目录 1 三种基本排序算法 1.1 插入排序 public static void InsertSort(int[] arrs) {intj;intt ...
- Java算法:牛客网Java版剑指Offer全套算法面试题目整理及电子档,Java算法与数据结构面试题,面试刷题、背题必备!牛客网剑指offer
剑指offer(java版) 牛客网Java版剑指Offer全套题目67道 资源来源于网络 目录 1.二维数组中的查找 2.替换空格 3.从尾到头打印链表 4.重建二叉树 5.用两个栈实现队列 6.旋 ...
- 常见数据结构和算法实现(排序/查找/数组/链表/栈/队列/树/递归/海量数据处理/图/位图/Java版数据结构)
常见数据结构和算法实现(排序/查找/数组/链表/栈/队列/树/递归/海量数据处理/图/位图/Java版数据结构) 数据结构和算法作为程序员的基本功,一定得稳扎稳打的学习,我们常见的框架底层就是各类数据 ...
- 超大数相乘的java代码,java版大数相乘
在搞ACM的时候遇到大数相乘的问题,在网上找了一下,看到了一个c++版本的 用java搞了一个版本 这里说一下思路 将数字已字符串形式接收,转换成int[]整型数组,然后num1[],num2[]依次 ...
- 数据结构与算法基础(java版)
目录 数据结构与算法基础(java版) 1.1数据结构概述 1.2算法概述 2.1数组的基本使用 2.2 数组元素的添加 2.3数组元素的删除 2.4面向对象的数组 2.5查找算法之线性查找 2.6查 ...
最新文章
- javax/management/DynamicMBean
- g++报错解决:error: ‘setw’ is not a member of ‘std’
- 面向对象编程--之二
- linux c语言 readline,Linux C代码实现读取配置文件示例
- ZOJ 2702 Unrhymable Rhymes(DP)
- 设计模式(一)----单例模式
- Java多线程之迭代器问题(四)
- Codeforces Round #174 (Div. 2) Cows and Primitive Roots(数论)
- TensorFlow HOWTO 2.2 支持向量回归(软间隔)
- MySQL在远程访问时非常慢的解决skip-name-resolve
- php 建站要学,建站新手如何开始学习php?
- Spring Boot内嵌Tomcat原理
- 【oracle】中文数字转阿拉伯数字
- 稀疏光流python_《稀》字意思读音、组词解释及笔画数 - 新华字典 - 911查询
- Hello JSP!——指令元素之page篇(最后有疑问求解,感激不尽)
- Android中夜间模式的三种实现方式
- 新手上路——树莓派3B+换源
- 愿你学会优雅地控制自己的情绪
- dedecms 对不起,你输入的参数有误修改
- 数据库mysql---NUMERIC数据类型
热门文章
- [TimLinux] JavaScript 元素动态显示
- IOS上传文件给java服务器,返回报错unacceptable context-type:text/plain
- 程序2:word count
- java作业 2.6
- 关于重构之Switch的处理【二】
- asp.net MD5加密函数(c#)
- ElasticSearch客户端注解使用介绍
- Statement与PreparedStatement的区别
- 《计算机科学概论(第12版)》—第0章0.3节学习大纲
- Spring+SpringMVC+MyBatis+easyUI整合基础篇(十)SVN搭建