首页 > 代码库 > 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循环)