java的冒泡排序是一种简单的排序规则
冒泡排序的原理:
比较两个相邻的数,首先将最大的排在第一个,第二次比较第二个 ,此后一样;
针对所有的元素重复以上的步骤,除了最后一个
例题;将int array[] = {1,2,34,3,423,23,23,2};这个数组使用冒泡排序法从小到大排序
分析:使用for来取数 ,嵌套for来循环
交换使用if(array[i] > array[j]){
int temp = array[i];
array[i] = array[j];
array[j] = temp;
/** * 使用冒泡排序数组 * @author Administrator * */ public class paixu { public static void main(String[] args) { // TODO Auto-generated method stub int array[] = {1,2,34,3,423,23,23,2}; for(int i = 0;i<array.length;i++){ for(int j = i+1;j<array.length;j++){ if(array[i] > array[j]){ int temp = array[i]; array[i] = array[j]; array[j] = temp; } } } //遍历 for(int i = 0;i<array.length;i++){ int num = array[i]; System.out.print(num +"\t"); } } } /*运行结果 1 2 2 3 23 23 34 423 */
例体 2:;将int array[] = {1,2,34,3,423,23,23,2};这个数组使用冒泡排序法从大到小排序
分析:使用for来取数 ,嵌套for来循环
交换使用if(array[i] <array[j]){
int temp = array[i];
array[i] = array[j];
array[j] = temp;
/** * 使用冒泡排序数组 * @author Administrator * */ public class paixu { public static void main(String[] args) { // TODO Auto-generated method stub int array[] = {1,2,34,3,423,23,23,2}; for(int i = 0;i<array.length;i++){ for(int j = i+1;j<array.length;j++){ if(array[i] < array[j]){ int temp = array[i]; array[i] = array[j]; array[j] = temp; } } } //遍历 for(int i = 0;i<array.length;i++){ int num = array[i]; System.out.print(num +"\t"); } } } /* 运行结果 423 34 23 23 3 2 2 1 */
冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间
例题 3:
在一个数组中插入几个数,使用冒泡排序找出最大的一个数
package 冒泡排序; /* 找出做大的一个数 */ public class ArrayBub { private long[] a; private int nElems; public ArrayBub(int max){ a =new long[max]; nElems= 0; } //定义一个插入的方法 public void insert(int value){ a[nElems] = value; nElems++; } //定义一个显示的方法 public void display(){ for(int i= 0;i<nElems;i++){ System.out.println(a[i]); } } //冒泡排序 public void bubbleSort(){ for(int i = 0;i<nElems-1;i--){ for(int j = 0;j<nElems;j++){ if(a[j]>a[j+1]){ swap(j,j+1); } } } } //交换 public void swap(int one,int two ){ long temp = a[one]; a[one] = a[two]; a[two] = temp;; } } package 冒泡排序; public class BubbleSortApp { public static void main(String[] args) { int maxSize = 100; ArrayBub arr = new ArrayBub(maxSize); for(int i = 0;i<5;i++){ arr.insert(10 + i); } arr.insert(101); arr.insert(1033); arr.insert(102); arr.insert(1034); arr.display(); arr.bubbleSort(); arr.display(); } } /*运行结果 1034 */