关闭

Java基础05-数组排序与查找

255人阅读 评论(0) 收藏 举报

1.(补充前面课程)

关于代码中使用到其他的class中的某个方法时,只要保证调用的.class文件存在于当前的classpath路径中!!
 如: 在Exercise1.java中使用了Exercise2.print()方法,

2.排序:
 a.选择排序:selectSort()
  //选择排序
  static void selectSort(int [] arr) {
   for(int i=0;i<arr.length-1;i++) {
    for(int j=i+1;j<arr.length;j++) {
     if(arr[i]>arr[j])
      swap(arr,i,j);
    } 
   }
  }
  
 b.冒泡排序:bubbleSort()
  //冒泡排序
  static void bubbleSort(int [] arr) {
   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])
      swap(arr,j,j+1);
    } 
   }
  }
 
3.API的类:
 a.Arrays类:
  Arrays.sort()
  Arrays.binarySearch()
  Array.toString()
  
 b.System类:
  System.arraycopy()
  
 c.Integer类:
  Integer.parseInt(String s)
  Integer.toHexString()
  Integer.toBinaryString()
    
4.二分查找:
 (前提: 数组数据已经有序并且没有重复元素!!)
 
 static int binarySearch(int[] arr,int key) {
  int start = 0;
  int end = arr.length-1;
  int middle = (start+end)/2;
  
  while(start<=end) { 
   if(key>arr[middle])
    start=middle+1;
   else if(key < arr[middle])
    end=middle-1;
   else
    return middle;
    
   middle=(start+end)/2;
  } 
  return -1;
 }

 

5.多维数组:
 多维数组的四种定义方式:
  int[][] arr={{1,2},{3,4,5},{5,8}};
  
  int[][] arr=new int[][]{{1,2},{3,4,5},{5,8}};
  
  int[][] arr=new int[2][4];
  
  int[][] arr=new int[2][];
  arr[0]= new int[1];
  arr[1]= new int[3];

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:31262次
    • 积分:736
    • 等级:
    • 排名:千里之外
    • 原创:47篇
    • 转载:2篇
    • 译文:0篇
    • 评论:4条