如何对一个随机数组进行快速排序,然后对其实行折半查找!诚恳各位JAVA高手帮忙解决一下!不胜感激!

解决方案 »

  1.   

    我KAO,耍我们啊,这么简单的问题。
    去看看java.util.Arrays.sort(), java.util.Arrays.binarySearch()这两个方法完全能满足你
    不过,你也可以自己写呀,这月何难?
      

  2.   

    public class SortAndQuery 
    {
    public static void main(String[] args) 
    {
    int[] dataArray ={1,3,5,7,9,2,4,8,6,0};
    //排序
    for(int i=0; i<dataArray.length; i++){
    for(int j=i+1; j<dataArray.length; j++){
    int d;
    if(dataArray[i]>dataArray[j]){
    d = dataArray[i];
    dataArray[i] = dataArray[j];
    dataArray[j] = d;
    }
    }
    }
    //打印出派好序的数组
    for(int j=0; j<dataArray.length;j++){
    System.out.print(dataArray[j] + "  ");
    }
    //二分法查找7,并返回它的位置
    binarySearch(dataArray);
    } static void binarySearch(int[] dataArray){
    int first = 0 ;
    int last = dataArray.length-1;
    int middle = (first + last)/2;
    boolean flag = false;
    while(flag == false){
    if(dataArray[middle] == 7){
    flag = true;
    System.out.println("你要查找数的位置为:" + middle);
    }else if(dataArray[middle] < 7){
    first = middle;
    }else {
    last = middle;
    }
    middle = (first+last)/2;
    }
    }
    }
      

  3.   

    排序的方法多了,楼主是要完成作业还是要结果就可以了
    http://www.10zhizui.cn