排序面试

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;
    }*/

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值