排序:冒泡排序:数据之间两两比较,大的放后面,直到比较出最大的那个出来,然后继续循环比较。
* 优化:有时会出现已经排序好了,但依然循环的情况,这时就要判断是否还在进行比较,
* 如果没有比较说明排序已经好了,可以跳出循环了
* 查找:二分法查找(折半查找):需要数组已经排序好了;将整个数组对折,然后将目标数和中间数
* 进行比较,如果目标数比中间数大,那么目标数就是在右边,反之,目标数在左边(如何目标数
* 等于中间数,那么就找出来了);然后以中间数下标+1的数作为起始来再进行对折,以此类推,
* 直到找到目标数。
要导的包:
import java.util.Arrays;
int[] nums = {2,9,0,7,6,1};
int temp;
for (int i = 0; i nums[i+1]){
temp = nums[i];
nums[i] = nums[i+1];
nums[i+1]=temp;
// flag = false;//false说明任然在比较,没排序完
}
System.out.println(Arrays.toString(nums));
}
[2, 9, 0, 7, 6, 1]
[2, 0, 9, 7, 6, 1]
[2, 0, 7, 9, 6, 1]
[2, 0, 7, 6, 9, 1]
[2, 0, 7, 6, 1, 9]
int[] nums = {2,9,0,7,6,1};
int temp;
for (int j = 0; j nums[i+1]){
temp = nums[i];
nums[i] = nums[i+1];
nums[i+1]=temp;
// flag = false;//false说明任然在比较,没排序完
}
System.out.println(Arrays.toString(nums));
}
// if(flag){//为true时,排序完了,跳出循环
// break;
// }
}
[2, 9, 0, 7, 6, 1]
[2, 0, 9, 7, 6, 1]
[2, 0, 7, 9, 6, 1]
[2, 0, 7, 6, 9, 1]
....................
[0, 1, 2, 6, 7, 9]
[0, 1, 2, 6, 7, 9]
[0, 1, 2, 6, 7, 9]