排序的要点 1.比较 2.换位
冒泡排序
public class Maopao{
public static void main(String[]args){
ini a[]={1,2,,32,44,45,89,-7,9};
for(int i=1;i<=a.length-1;i++){ //控制循环次数,循环次数等于数组长度减一
int temp; //定义一个临时变量来做换位
for(int j=0;j<=a.length-i;j++){ //前一位和后一位进行比较随循环次数的增加,比较次数对应减少
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;}}}
for(int k:a){
System.out.println(k);}
}
}
二分法
public class TwoDemo {
public static void main(String[] args) {
int a[] = { 1, 3, 6, 8, 12, 56, 100 };
int e = ef(a, 2);
System.out.println(e);
}
public static int ef(int a[], int n) {
// 砍半取中间值进行比较
int s = 0, e = a.length - 1;
int m = (s + e) / 2;
while (a[m] != n && e > s) {
// 在前半部分
if (a[m] > n) {
e = m - 1;
}
// 在后半部分
else if (a[m] < n) {
s = m + 1;
}
m = (s + e) / 2;
}
//
if (a[m] == n) {
return m;
} else {
return -1;
}
}
}