zoukankan      html  css  js  c++  java
  • 数组的排序与查找

    /**对如下一个数组int[] iarr={34,67,1,56,32,78,12,45,79,4,57,102,123,3};进行排序(采用自己擅长的排序算法),然后查询排序之后的采用二分查找*法查找45在在数组的索引值 ,排序、查找封装成方法,然后在main方法中调用测试。*/

    public class FenDou01 {

       public static void main(String[] args) {

        int[] iarr={34,67,1,56,32,78,12,45,79,4,57,102,123,3};
        paiXu(iarr);
        System.out.println(" ");
        searchArr(iarr,45);

      }

      public static void paiXu(int[] arr){
        for(int i=0;i<arr.length-1;i++){
          int mindex=i;
          for(int j=i+1;j<arr.length;j++){
            if(arr[j]<arr[mindex]){
              mindex=j;
            }
          }
          if(mindex!=i){
            int temp=arr[i];
            arr[i]=arr[mindex];
            arr[mindex]=temp;
          }
        }
        System.out.println("排序后的数组为:");
        for(int k=0;k<arr.length;k++){
          System.out.print(arr[k]+" ");
        }
      }
      public static void searchArr(int[] arr,int n){

        //int[] a=new int[arr.length];
        int findex=0;
        int lindex=arr.length-1;
        int mindex=-1;
        int index=-1;
        while(findex<=lindex){
          mindex=(findex+lindex)/2;
          int k=arr[mindex];
          if(k==n){
            index=mindex;
            break;
          }else if(n<k){
            lindex=mindex-1;
          }else if(n>k){
            findex=mindex+1;
          }

        }
        if(index!=-1){
          System.out.println(n+"的下标为:"+index);
        }else{
          System.out.println(n+"不存在于该数组中!");
        }
      }

    }

  • 相关阅读:
    Win7 IIS FTP
    (转)Windows平台下git中文乱码的问题
    (转)如何在MySql中记录SQL日志(例如Sql Server Profiler)
    (转)Mysql 使用
    Xcode 快捷键
    (转)xcode 4.2 新建工程模板详解
    解决apache的the requested operation has failed
    ANDROID 获取SD卡剩余容量
    (转)struct tm 的应用 了解strtok应用
    (转)Ubuntu建立PHP服务器(apache+php+mysql)
  • 原文地址:https://www.cnblogs.com/changyinlu/p/4693782.html
Copyright © 2011-2022 走看看