性能优化冒泡排序

1、举个例子:int[] array = {2,4,9,7,6,5};

第一轮2和4进行比较,2<4,位置不变。再4和9进行比较,4<9,位置不变。再9和7进行比较,9>7,9和7的位置互换。再9和6进行比较,9>6,9和6的位置互换。再9和5进行比较,9>5,位置互换。第一轮比较的结果就是2 4 7 6 5 9。

第二轮2和4进行比较,2<4,位置不变。再4和7进行比较,4<7,位置不变。再7和5进行比较,7>6,7和6的位置互换。再7和5进行比较,7>5,7和5的位置互换。第二轮的结果就是2 4 6 5 7 9。

第三轮2和4进行比较,2<4,位置不变。再4和6进行比较,4<6,位置不变。再6和5进行比较,6>5,6和5的位置互换。第三轮的结果是2 4 5 6 7 9(已经是我们想要的结果了)。

2、具体代码如下所示:

import java.util.Arrays;

public class Test {

public static void arraySort(int[] arr) {

int temp;// 定义一个临时变量

for (int i = 0; i < arr.length - 1; i++) {// 冒泡趟数,n-1趟

boolean flag = true;

for (int j = 0; j < arr.length - i - 1; j++) {

if (arr[j + 1] < arr[j]) {

flag = false;

temp = arr[j];

arr[j] = arr[j + 1];

arr[j + 1] = temp;

}

}

// 如果当轮没有发生位置变化,说明已经排序完毕,就没有必要再进行循环了

if (flag) {

break;

}

}

}

public static void main(String[] args) {

int arr[] = new int[] { 2, 4, 9, 7, 6, 5 };

arraySort(arr);

System.out.println(Arrays.toString(arr));

}

}

java 正序排序_java排序之冒泡排序相关推荐

  1. pandas使用sort_values函数对dataframe的日期数据列进行排序(设置ascending参数进行正序或者倒序排序)

    pandas使用sort_values函数对dataframe的日期数据列进行排序(设置ascending参数进行正序或者倒序排序) 目录

  2. java 正序a~z_Flutter MapString, dynamic 、ListString a-z 排序

    字符串从 a-z 排序. Map map = XXX, List keys = map.keys.toList(); // key排序 keys.sort((a, b) { List al = a.c ...

  3. java 正序a~z_java 策略模式,list集合,实现id 姓名年龄正序倒序排序(如果年龄或者姓名重复,按id正序排序)...

    策略模式:1.抽象策略类,通常由一个接口或者抽象类实现. 2.具体实现类 3.环境角色类,持有一个策略类的引用,最终给客户端调用. 好了,上代码: package execrise; import j ...

  4. Java 正序、逆序排序

    Java 如何正序.逆序排序? 这里的知识点包括: Collections.sort() 方法提供集合类正序排序. Collections,reverse() 方法可以将排序好的集合类进行逆序. 如果 ...

  5. java 正序a~z_2019届vivo秋招笔试题【字符串排序】【链表奇数位正序偶数位逆序】【最长回文子串】...

    字符串排序 1.题目描述 请对组字符串进行排序,字符串由大小写字母和数字组成,需要满足以下比较规则 1.长度不同时,长度较短在排前面 2.长度相同时,按照字典顺序排列(AaBb-Zz, 0-9顺序), ...

  6. java 正序排序_Java8对list排序(正序倒序)

    话不多说直接上干货 这里我写了一个list数组里边add了三个Order实体(我的ucId,price,qty都是int类型) 第一个实例:我对price进行从小到大的排序(我的price是int类型 ...

  7. java基础排序_Java排序算法-Java入门|Java基础课程

    1. 课程目标排序是任何语言都会使用到的功能之一,然成果排序的算法有很多,对空间的要求及其时间效率也不尽相同. 本文章以Java语言示例,通过对空间要求.时间效率要求,来对比各种排序算法的使用场景 2 ...

  8. java的排序_java排序

    Bubble sort 冒泡排序 一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经 ...

  9. java 全排序_Java排序算法全

    Java排序算法代码 零. 排序基类 package com.yunche.sort; /** * @ClassName: BaseSort * @Description: * @author: yu ...

最新文章

  1. 注册中心 Eureka 源码解析 —— 应用实例注册发现(五)之过期
  2. python 日志输出模块--两种方法
  3. python3 打印异常堆栈信息
  4. OpenStack-MitakaCentos7.2双节点搭建--(四)Nova服务
  5. 数据分析方法有哪些_数据分析方法
  6. opencv中 .at<uchar>()和.ptr<uchar>()使用方法的区别
  7. 博弈论(二)完全信息静态博弈
  8. ESP8266—“ICACHE_FLASH_ATTR”宏——解释含义
  9. plsql developer 无法登录Oracle
  10. 程矢Axure夜话:Axure手机原型视频教程之图形解锁
  11. 用envi对遥感影像进行规则裁剪
  12. ui 名前空間の Aura コンポーネントの廃止
  13. 用 GNS3 做CCNA网络实验(4)
  14. 快手财报,广告、直播、电商齐头并进
  15. python制作浏览器
  16. vue使用d3数据可视化(柱状图、饼图、折线图 带坐标轴)
  17. JavaScript高级笔记_002_构造函数和原型
  18. 指针里的*符号是要靠近变量类型还是要靠近变量名称?
  19. <CSS3练习> CSS动画综合案例 热点图(含素材)
  20. 六年级计算机应用计划,《小学信息技术》六年级下册教学计划

热门文章

  1. git commit命令
  2. 作用域经典练习题(主要是这个图太大不能一起分享)
  3. 我的Linux折腾史
  4. 命令行出错Exception in thread main java.lang.UnsupportedClassVersionError:
  5. Linux网络——一种强制门户技术
  6. web安全之SQL注入---第四章 如何进行SQL注入攻击
  7. JavaScript 获取当日在今年第几周
  8. 自定义注解 相关知识汇总(转)
  9. 微软发布Surface平板电脑 再度挑战苹果
  10. [PLSQL] 游标学习