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+"不存在于该数组中!");
        }
      }

    }

  • 相关阅读:
    基础004_V7-DSP Slice
    基础003_V7-Memory Resources
    基础001_Xilinx V7资源
    基础002_V7-CLB
    FIR调用DSP48E_05
    FIR仿真module_04
    FIR基本型仿真_03
    FIR定点提高精度的trick_02
    〖Android〗快速部署SSHD和Bash Shell(程序:DroidSSHD和BetterTerminalEmulatorPro)
    〖Android〗Nexus 7 flo (razor) 刷入Recovery/CM-11.0后卡在开机动画的解决方法
  • 原文地址:https://www.cnblogs.com/changyinlu/p/4693782.html
Copyright © 2011-2022 走看看