给任何一个数组,用JAVA冒泡排序出来

如题所述

这才是冒泡排序~~~!
public class Sort_Bubble {

public static void main(String[] args) {
int[] arr = {23,12,3,45,25,46,75,15,12,52};

for(int i=arr.length-1;i>=0;i--){
for(int j=0;j<i;j++){
if(arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
//查看结果~~
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}

}

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-13
package com.Test1;
import java.util.Calendar;
public class Demo5_3 {
/**
*
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

int len = 80;
int[] arr = new int[len];
System.out.print("排序前:");
for (int i = 0; i < len; i++) {
// 让程序随机产生一个1-10000数
// Math.random()会随机产生一个[0,1)
int t = (int) Math.random() * 10000;
arr[i] = t;
System.out.print(arr[i]+" ");
}
// 创建一个Bubble类
Bubble bubble = new Bubble();
bubble.sort(arr1);
System.out.print("排序后:")
for (int i = 0; i < arr1.length; i++) {
System.out.print(arr[i] + " ");
}
}
}

class Bubble {
// 冒泡排序
public void sort(int arr[]) {
int temp = 0;
// 排序
// 外层循环,它决定一共走几趟
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]) {
// 换位
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
}
相似回答