java 数组遍历

选择排序

class Demo {
 public static void main(String[] args) {
  
  //需求:指定一个int类型的数组,给一定元素,将元素从小到大进行排序。
  //初始化一个数组
  int[] arr = {7,3,9,12,6,2};
  //选择排序 : 效率太低比较的次数太多
  for(int i = 0;i<arr.length;i++){
  
   for(int j= 1 ; j<arr.length;j++){
    if(arr[j-1]>arr[j]){
     int temp = arr[j];
     arr[j] = arr[j-1];
     arr[j-1] = temp;

    }
   }
  }

  //遍历数组
  for(int i=0;i<arr.length;i++){

   System.out.println(arr[i]);
  }
 


 }
}

冒泡排序

class Demo{
 public static void main(String[] args)  {
  
  //需求:每次将数组中最大的元素把他移到最右边去
  int[] arr = {7,3,9,12,6,2};
  //将最大的值移到最右边
  for(int i =0;i<arr.length-1;i++){

   for(int j=0;j<arr.length-1-i;j++){

    if(arr[j]>arr[j+1]){
     int temp = arr[j];
     arr[j]=arr[j+1];
     arr[j+1] = temp;
    }
   } 

二分法

class Demo{
 public static void main(String[] args) {
  
  //二分法 : 前提 : 数组要排序好

  int[] arr = {1,2,3,4,5,6};
  int num = 5;

  int max = arr.length-1;
  int min = 0;
  int mid = (max + min) / 2;

  while(true){
  
   if(num > arr[mid]){
   
    min = mid +1;

   }else if (num < arr[mid]) {

    max = mid-1;
   }else {
    
    System.out.println("找到了:"+mid);
    break;
   }

   //没有找到
   if(min > max){
    
    System.out.println("没有找到");
    break;
   }
   //重新设置中间值
   mid = (max + min)/2;
  
  }

 }
}


  }

原文地址:https://www.cnblogs.com/chEnYoNg11/p/6063180.html