求java的冒泡排序程序!!!急急

如题所述

第1个回答  2010-06-08
我的是冒泡算法的演示:
public class MaoPao {
public void text(int[] listNumber){
int n_length = listNumber.length;
System.out.println("************冒泡算法演示***************");
System.out.print("未排序的序列:");
print(listNumber);
paixu(listNumber);
}
/*
* 打印输出数组
*/
public void print(int[] listNumber){
for(int i=0;i<listNumber.length;i++){
if(i==0){
System.out.print(listNumber[i]);
}else{
System.out.print(","+listNumber[i]);
}
}
System.out.println();
}
/*
* 排序
*/
public void paixu(int[] listNumber){
int n=0;
int k=0;
boolean flag = false;
int number = 0;
//第一次找左边大于右边的两个数
for(int i=0;i<listNumber.length-1;i++){
if(listNumber[i]>listNumber[i+1]){
flag = true;
k = i;
break;
}
}
while(flag == true){
//如果找到就从第一个左边大于右边的两个数开始调换位置
for(int i=k;i<listNumber.length-1;i++){
if(listNumber[i]>listNumber[i+1]){
n = listNumber[i];
listNumber[i] = listNumber[i+1];
listNumber[i+1] = n;
}else{
break;
}
}
number++;
System.out.print("第"+number+"次排序后: ");
print(listNumber);
flag = false;
//一次排序后再判断一次
for(int i= 0;i<listNumber.length-1;i++){
if(listNumber[i]>listNumber[i+1]){
flag = true;
k=i;
break;
}
}
}

}
public static void main(String[] args){
int[] l_number = new int[]{3,6,5,8,4,7,3};
MaoPao mp = new MaoPao();
mp.text(l_number);
}
}
感觉还有错的地方,请赐教
第2个回答  2010-06-08
如果是去笔试直接这么写就行了:
int[] num = {534,34,353,23,1,4,6,7,3,89,22,2,1,3,5};
int temp = 0;
for(int i=0;i<num.length:i++){
for(int j=num.length-1;j>i;j--){
if(num[i]>num[j]){
temp = num[i];
num[i] = num[j];
num[j] = temp;
}
}
}本回答被提问者采纳
第3个回答  2010-06-08
public class MaoPao {

/**
* @冒泡排序
*/

static int arry[];

//交换元素方法
public static void huan(int one,int two){
int temp=arry[one];
arry[one]=arry[two];

arry[two]=temp;

}

//显示输出数组中的数据
public static void output(){
for(int i=0;i<arry.length;i++){
System.out.print(arry[i]+" ");
}
}

//核心排序方法
public static void paixu(){
for(int a=arry.length-1;a>1;a--){
for(int b=0;b<a;b++){
if(arry[b]>arry[b+1]){
huan(b, b+1);
}
}

}

}

public static void main(String[] args) {
arry=new int[]{1,5,3,9,23,14,12,35};
System.out.print("-----原始数据:----:");
output();
paixu();
System.out.println(" ");
System.out.print("-----排序后数据:----:");
output();

}

}
相似回答