java学习笔记——数组-2018-07-16

定义:同一种类型数据的集合。其实数组就是一个容器。

初始化:

int[] arr = new int[5];
int[] arr = new int[]{3,5,1,7};
int[] arr = {3,5,1,7};
// 数组反转:
int[] arr = new int[]{12,3,54,16,86};
for(int i = 0; i < arr.length/2; i++){
    int temp = arr[i];
    arr[i] = arr[arr.length-i-1];
    arr[arr.length-i-1] = temp;
}
// 数组冒泡排序:
int[] arr = new int[]{12,3,54,16,86};
for(int i =0; i < arr.length; i++){
    for(int j = 0; j < arr.length - i -1; j++){
         if(arr[j] > arr[j+1]){
             int temp = arr[j];
             arr[j] = arr[j+1];
             arr[j+1] = temp;
         }
     }
}
// 数组选择排序:
int[] arr = new int[]{12,3,54,16,86};
for(int i = 0;i<arr.length;i++){
    for(int j = i+1;j<arr.length;j++){
          if(arr[i]>arr[j]){
               int temp = arr[i];
               arr[i] = arr[j];
               arr[j] = temp;
          }
     }
}
// 数组折半查询:
public static void main(String[] args){
     int[] arr = new int[]{3,12,16,54,86};
     Scanner scan = new Scanner(System.in);
     int key = scan.nextInt();
     int loc = locateKey(arr,key);
     System.out.println(loc);
}
// 处理方法
public static int locateKey(int[] arr,int key){
    int min = 0;
    int max = arr.length-1;
    int mid;
    while(min <= max){
          mid = (min + max) / 2;
          if(arr[mid] == key){
             return mid;
          } else if(arr[mid] > key){
             max = mid - 1;
          } else {
            min = mid + 1;
          }
    }
     return -1;
}

猜你喜欢

转载自blog.csdn.net/guanxiaoyu002/article/details/81128044