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

原创 2012年03月28日 21:10:23

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];

相关文章推荐

黑马程序员_JavaSE基础05 之 数组的操作 求最值 排序 折半查找

---------------------- android培训、java培训、期待与您交流! --------------------- JavaSE_05 笔记 ...
  • Mary_k
  • Mary_k
  • 2012年09月02日 18:22
  • 217

java学习_05_数组、排序、查找

数组查找
  • BonJean
  • BonJean
  • 2014年08月17日 11:02
  • 316

java个人学习笔记05(进制装换+排序查找+二维数组)

1.前面所学知识的综合应用(主要是数组和函数): /* 需求:综合上一版十进制转化为十六进制,增加十进制转化为八进制、二进制的功能 思路:查表法java提供的功能:Integer.toBinaryS...

黑马程序员--05JAVA数组及其排序和查找

----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------ 1、数组的静态初始化 多种定义格式: Int[] arr=new ...

04-Java基础(数组-常见操作-选择排序

  • 2016年04月28日 13:24
  • 17.46MB
  • 下载

05_java基础加强(数组、判断语句、循环结构、进制转换、常用类等)

------- android培训、java培训、期待与您交流! ---------- 一、什么是变量 定义在方法中的变量、定义在方法参数中的变量,定义在for循环中的变量都是“局部变量”,只能在有...

[java基础学习]05——方法和数组

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 1.方法     1)概念:         就是完成特定功能的代码块。     2)格式   ...
  • lqg5522
  • lqg5522
  • 2015年04月27日 21:58
  • 143

Java基础05-循环问题,数组

补充1.变量的作用域 - 从变量的声明开始,到离该变量最近的大括号结束 2.变量的重名问题 - 作用域重叠时,变量名不能相同嵌套循环 循环中套循环,多行多列时使用,外层控制行,内层控制列...
  • Lh_0618
  • Lh_0618
  • 2016年03月11日 23:13
  • 255

Java基础:Day05笔记内容 (方法、数组)

重点: 方法,数组 1.方法: 方法就是定义在类中的具有特定功能的一段独立小程序。 方法的格式: 修饰符 返回值类型 方法名(参数类型 形式参数1,参数类型 形式参数2,…){ ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java基础05-数组排序与查找
举报原因:
原因补充:

(最多只允许输入30个字)