博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java算法:冒泡排序
阅读量:5127 次
发布时间:2019-06-13

本文共 1141 字,大约阅读时间需要 3 分钟。

java算法:冒泡排序

冒泡排序:不断遍历文件,交换倒序的相邻元素,直到文件排好顺序。冒泡排序的主要优点是容易实现,冒泡排序通常会比选择排序、插入排序慢。

如,对EXAMPLE 字母进行排序:

 E   X   A   M   P   L   E   .开始
[A]  E   X  [E]  M   P   L   .E移到了A之后,A移到了最前面
 A   E  [E]  X   L   M   P   .L移到了E之后,E移到了X前面
 A   E   E  [L]  X   M   P   .L移到了X前面
 A   E   E   L  [M]  X   P   ...
 A   E   E   L   M  [P]  X   
 A   E   E   L   M   P  [X]

Prettyprint java代码
  1. public class Bubble {   
  2.   
  3.     public static void main(String[] args) {   
  4.         int n = 20;   
  5.         MyItem [] a = new MyItem[n];   
  6.         for (int i = 0; i < n; i++) {   
  7.             a[i] = new MyItem();   
  8.             a[i].rand();   
  9.         }   
  10.            
  11.         for (int i = 0; i < n; i++) {   
  12.             System.out.print(a[i] + " ");   
  13.         }   
  14.            
  15.         bubble(a, 0, n);   
  16.         System.out.println("");   
  17.         print(a, n);   
  18.     }   
  19.        
  20.     private static void print(MyItem a [], int n){   
  21.         for (int i = 0; i < n; i++) {   
  22.             System.out.print(a[i] + " ");   
  23.         }   
  24.     }   
  25.        
  26.     public static void bubble(MyItem [] a, int l, int r){   
  27.         for (int i = l; i < r; i++) {   
  28.             for (int j = r - 1; j > i; j--) {   
  29.                 compExch(a, j - 1, j);   
  30.             }   
  31.         }   
  32.     }   
  33.        
  34.     public static boolean less(Item v, Item w){   
  35.         return v.less(w);   
  36.     }   
  37.        
  38.     public static void exch(Item [] a, int i, int j){   
  39.         Item t = a[i];   
  40.         a[i] = a[j];   
  41.         a[j] = t;   
  42.     }   
  43.        
  44.     public static void compExch(Item [] a, int i, int j){   
  45.         if(less(a[j],a[i])){   
  46.             exch(a, i, j);   
  47.         }   
  48.     }   
  49. }  

转载于:https://www.cnblogs.com/wuyida/archive/2012/11/01/6301140.html

你可能感兴趣的文章
C#基础知识面试经典[整理]
查看>>
微信 oauth2 两次回调
查看>>
洛谷P1099 树网的核
查看>>
Spring Cloud 入门教程(八): 断路器指标数据监控Hystrix Dashboard 和 Turbine
查看>>
VBA:从Excel批量往Access数据库传数据时显示找不到目标对象的异常
查看>>
前端笔记——获取url里面的参数值
查看>>
在视图中使用时间
查看>>
python学习笔记(三)字符串方法、读写文件、json处理以及函数
查看>>
前端对于需要对参数做处理的接口的相关技术
查看>>
阅读计划——《软件需求十步走》01
查看>>
Redis 发布与订阅模式
查看>>
JAVA8方法引用
查看>>
js中数组的字符串表示
查看>>
优先队列实现哈弗曼最小权值
查看>>
vue组件编译原理
查看>>
MYSQL 5.6修改密码
查看>>
centos 6.5 升级到 python2.7
查看>>
http请求头和响应头的含义
查看>>
2016.3.24 OneZero站立会议
查看>>
软件工程的理解
查看>>