求证贴
下面这个方法应该是个普通的排序方法吧,不是冒泡排序法啥!
public static Person[] sss(Person[] p){
int length = p.length;
for(int i=0;i<length;i++){
for(int j=i+1;j<length;j++){
int p1 = p[i].getAge();
int p2 = p[j].getAge();
if(p1>p2){
Person temp = p[j];
p[j]=p[i];
p[i]=temp;
}
}
}
return p
}
这个不是二分查找法啥,但是是啥子查找法哦,我忘了,哪位大哥知道
public static boolean findNum(int[] nums, int num) {
int startIndex = 0;
int endIndex = nums.length - 1;
int middle = nums.length / 2;
if (num == nums[middle]) {
return true;
}
while (startIndex <= middle) {
if (num == nums[startIndex]) {
return true;
} else {
startIndex++;
}
if (num == nums[endIndex]) {
return true;
} else {
endIndex--;
}
}
return false;
}
------解决方案--------------------上面的不是冒泡排序
Java code
for(int i=0;i<n;i++){
for(int j=n;j>i;j--){//种种形式才是
------解决方案--------------------
第一个:选择排序法。
第二个:为了减少循环次数所以在while里面有两个判断一头一个尾,这就是“二分查找法”,只不过是从两端开始。也就从中间开始的。
代码是千变万化的,只是核心的思想没有变就可以了。
好比很多人把Java I/O实现叫做装饰模式,而我则理解为最简单的“聚合”,我觉得这没有什么区别。
------解决方案--------------------
也有从中间开始的。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
第一个就是冒泡法,或者叫沉底法