首页 > 代码库 > JAVA学习笔记-二分法排序(增强for循环)

JAVA学习笔记-二分法排序(增强for循环)

package MyErFenPaiXu;

public class Mycode {

public static void main(String[] args){
  int[] a ={18,63,25,46,3,0,99,1,2};
  for(int j=0;j<a.length-1;j++){      //这里的意思为不断的比较,次数只要不小于5次就能遍历出想要的结果。
    for(int i=0;i<a.length-1-j;i++){   //遍历一次,一个大数会被移到最后的位置。
      if(a[i]>a[i+1]){
        int temp=0;                         //这里是不断拿一个数和它的第二数进行比较,第一个数>第二个,就把大数后移一个位置,中途借助temp来实现数据暂存的转移。
        temp = a[i+1];
        a[i+1]=a[i];
        a[i]=temp;
      }
    }
}

  for(int k=0;k<a.length;k++){
    System.out.print(a[k]+"\t");
  }

}
}

以上为自己写的排序小程序,但是jdk给我们提供了java.util工具类,包括排序数组,打印数组等等的方法。

 

数组复制:

public static void arraycopy(Object src,   //被复制的数组
             int srcPos,                   //被复制的数组位置索引
             Object dest,                  //复制到哪个数组
             int destPos,                  //复制到该数组的哪个索引
             int length)                   //复制的数组长度

 

数组填充:

Arrays.fill(a,2,4,100);   //将2到4索引的元素替换为100    替换都是包头不包尾   [2,4)

排序数组:

int[] a ={18,63,25,46,3,0,99,1,2};

Arrays.sort(a);  //从小到大的顺序进行排序。

打印数组:

Arrays.toString(a);     //个人感觉Arrays的toString和Object的toString应该是重载的关系???

 

 

遍历数组的小方法!

技术分享

 

JAVA学习笔记-二分法排序(增强for循环)