说来搞(丢)笑(人),工作这好几年了,面试时连个排序算法都说不明白,哈哈。。。
最后一遍学习算法,
排序算法:
1冒泡排序 (相邻两个比较,并排序)
@org.junit.Test
public void test() {
// fail("Not yet implemented");
int[] arr = { 23, 12, 48, 56, 45 };//数组声明
int temp = -1;//临时变量,作用是,我们拿一杯可乐,一杯红酒,想把可乐放到红酒的杯子,那么就去拿另外一个容器(杯子)
for (int i = 0; i < arr.length; i++) {//遍历的范围就是这个数组
for (int j = i + 1; j < arr.length; j++) {//取数组中下一个数字
if (arr[i] > arr[j]) {//比较第一个数和第二个数字
temp = arr[i];//把大的数字放到临时变量(可乐放到另外的容器,可乐杯子空了)
arr[i] = arr[j];//把小的数字放到原来大的数字的位置(下标)(红酒放到可乐的杯子,红酒杯子空了),第一步循环结果[12, 12, 48, 56, 45]
arr[j] = temp;//把临时变量中大的值放到原来小的位置(可乐放到红酒的杯子,交换一组完毕)第一次循环[12, 23, 48, 56, 45]
}
}
}
System.out.println(Arrays.toString(arr));
}
这个,刚开始学可以不会,但是,第一遍会了会少走很多的浪费时间的路,沉没成本嘛,加油B(boy) A(and) G(girl)!!!
太懒了,后面再补充(文在精,不在多)