论坛首页 入门技术论坛

java冒泡排序

浏览 5442 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-11-11  

public class sorttest {

public static void main(String[] args){
int[] ss=new int[100];
for(int i=0;i<100;i++){
int ii=(int)(Math.random()*100+1);
ss[i]=ii;
for(int h=0;h<i;h++){
if(ss[i]==ss[h]){
i--;
break;
}
}
}
/*for(int j:ss){
System.out.print(" "+j);
}*/
sorttest ts=new sorttest();
System.out.print("顺序为:");
ts.bubbleSort(ss, "asc");
System.out.print("道序为:");
ts.bubbleSort(ss, "desc");
}
public  void bubbleSort(int[] source, String sortType) {
        if (sortType.equals("asc")) { //正排序,从小排到大
            for (int i = source.length - 1; i > 0; i--) {
                for (int j = 0; j < i; j++) {
                    if (source[j] > source[j + 1]) {
                       // swap(source, j, j + 1);
                    int tmp=source[j];
                    source[j]=source[j+1];
                    source[j+1]=tmp;
                    }
                }
            }
        } else if (sortType.equals("desc")) { //倒排序,从大排到小
            for (int i = source.length - 1; i > 0; i--) {
                for (int j = 0; j < i; j++) {
                    if (source[j] < source[j + 1]) {
                       // swap(source, j, j + 1);
                    int tmp=source[j];
                    source[j]=source[j+1];
                    source[j+1]=tmp;
                    }
                }
            }
        } else {
            System.out.println("您输入的排序类型错误!");
        }
        printArray(source);//输出冒泡排序后的数组值
    }
public void printArray(int[] source) {
        for (int i : source) {
            System.out.print(i + " ");
        }
        System.out.println();
    }
/*private void swap(int[] source, int x, int y) {
        int temp = source[x];
        source[x] = source[y];
        source[y] = temp;
    }*/

}
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics