importjava.util.Arrays;/*** 是将无序a[0],a[1]...a[n],将其升序排序,比较a[0].a[1]的值,若结果为1,则交换两者的值,否则不变,接着继续向下比较.最后比较a[n-1].a[n]的结果,结束后,a[n]的值为当前数组中最大值.接着继续将a[1]~a[n-1]进行比较.一共处理n-1轮后, 就是以升序排列

*

* 优点: 稳定

* 缺点: 耗时长,每次只是移动两个相邻的数据做对比

* @Description Java冒泡排序

* @Author : Dy yimting@yeah.net

* @Date : 2019/3/26,14:06

* @Project : Java_Sort

* @Version : 1.0

**/

public classBubbleSort {public static voidmain(String[] args) {int[] arr = {34, 2, 146, 76, 45, 3, 6, 7};long start =System.nanoTime();

sort(arr);long end =System.nanoTime();

System.out.println("排序后 : " +Arrays.toString(arr));

System.out.println("运行时间:" + (end - start) + " ns");

}/***@paramarr 传入的数组

* 第一次外层循环 ,和第一层内层循环内部结果

* 34 2 146 76 45 3 6 7

* 2 34 146 76 45 3 6 7

* 2 34 146 76 45 3 6 7

* 2 34 76 146 45 3 6 7

* 2 34 76 45 146 3 6 7

* 2 34 76 45 3 146 6 7

* 2 34 76 45 3 6 146 7

* 2 34 76 45 3 6 7 146

* .....................*/

public static void sort(int[] arr) {//外侧循环控制整个循环的次数

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]) {

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

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

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

}

}

}

}

}

java冒泡排序 快速排序_Java必备-冒泡排序,选择排序,快速排序(纯代码实现)相关推荐

  1. c语言选择排序法程序设计,C语言基础之选择排序算法和代码

    在利用C语言进行编写程序的过程中,我们会常常通过算法及其代码来进行相关程序的编写工作.今天课课家笔者先给大家介绍C语言算法中的选择排序算法以及代码.那么到底什么是选择排序算法呢?下面由笔者慢慢道来. ...

  2. 冒泡排序 选择排序 快速排序(C语言)

    #include <stdio.h> #include <stdlib.h> #include <time.h> //用到了time函数#define arrayS ...

  3. python版 常用排序算法 思路加详解 冒泡排序、快速排序、插入排序、选择排序

    注:这里所有排序操作都以从小到大排列为例,想要从大到小排的自行修改代码即可 目录 一.冒泡排序 思路: 步骤: 解析: 二.快速排序 思路: 步骤: 代码: 三.插入排序 思路: 代码: 四.选择排序 ...

  4. 冒泡排序+选择排序+快速排序

    一. 冒泡排序 冒泡思想比较简单,直接上代码 void BubbleSort(int num[], int n){int i,j;for(i=0;i<n;i++){for(j=i;j<n; ...

  5. java排序算法代码_Java实现八种排序算法(代码详细解释)

    package八大排序算法;importjava.util.Arrays;importorg.junit.Test;/*** 1.插入排序 直接插入排序.希尔排序 折半插入排序 * 2.交换排序 冒泡 ...

  6. 排序算法python实现_用Python,Java和C / C ++实现的选择排序算法

    排序算法python实现 The Selection Sort Algorithm sorts the elements of an array. In this article, we shall ...

  7. python 选择排序 快速排序

    选择排序 a = [1, 9, 8, 4, 3, 5, 4, 8] leng = len(a)for i in range(leng - 1):litt_index = ifor j in range ...

  8. 计算机编程语言排序,计算机入门必备算法——选择排序法

    引言 昨天我们学习了二分查找法,但是二分查找法使用的前提必须是有序的数组或者列表,(当然很多的算法都是仅在数据有序的前提下才能使用) 但是在实际工作中,我们接收到的数组不可能都是有序的,那怎么办呢?于 ...

  9. 【基础不牢地动山摇】一遍记住 Java 面试中常用的八种排序算法与代码实现!...

    作者:KaelQ www.jianshu.com/p/5e171281a387 1.直接插入排序 经常碰到这样一类排序问题:把新的数据插入到已经排好的数据列中. 将第一个数和第二个数排序,然后构成一个 ...

最新文章

  1. 网络推广软文浅谈网站优化过程中图片的优化技巧和注意事项!
  2. JSON动态解析()
  3. 2021-04-09 linux的shell脚本简单教程
  4. MySQL之 从复制延迟问题排查
  5. 深入理解Python中的元类(metaclass)
  6. Linux内核模块开发常用内核接口
  7. 免费UNIX体验中心
  8. cuda并行编程之求解ConjugateGradient(共轭梯度迭代)丢失dll解决方式
  9. [简单]1.宝石和石头
  10. 如何检查有哪些尝试入侵服务器IP?有哪些命令?
  11. Spark小文件合并
  12. A4纸是多少像素大小?
  13. MongoDB 日志管理
  14. adb设置代理与取消代理
  15. Python感知器算法
  16. 互联网月饼大赏,你最喜欢哪家的?
  17. QML类型:Repeater
  18. AD5541输出控制
  19. 想要安装ZBrush!却不知道对电脑有什么特别的要求?
  20. 简单描述计算机主机不启动故障,电脑启动不了是什么问题

热门文章

  1. HDU-1501-Zipper
  2. Netflix Media Database - 架构设计和实现
  3. rsync通过服务同步、linux日志、screen工具
  4. docker容器的使用
  5. 接 嵌入式设备上的Linux系统开发
  6. 分布式流控介绍和实现原理
  7. CSS Grid中的陷阱和绊脚石
  8. Jquery.dataTables分页排序参数详解
  9. Jsp基本page指令、注释、方法声明,书写规范及注意事项
  10. 在mysql中如何添加函数库_详细讲解如何为MySQL数据库添加新函数