public class E201_06_09_选择排序 { public static void main(String[] args) { int a [] ={ 1,4,3,5,2,7,6}; f(a); } private static void f(int[] a) { for (int start = 0;start<a.length;start++){ int index = start; for (int i =start+1;i<a.length;i++){ if (a[start]<a[i]){ i=index; } } int t =a [index]; a[index] = a[index]; a[start]=t; } } }
public class
C_201_05_09冒泡
{
public static void main(String[] args) {
int []a = {22,87,52,11,88,24};
print(a) ;
int n = a.length;
for (int b = 1;b <=n-1;b++) {
for (int i =0;i<=n-i-1;i++){
if (a[i]>a[i+1]){
int t =a[i]; //一趟冒泡
a[i] =a[i+1];
a[i+1]=t;
}
}
}print(a);
}
private static void print(int[] a) {
for (int x :a){
System.out.printf("%4d",x);
}
System.out.println("");
}
}
public class C_201_05_02_数组的折半查找 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); int[] arr = {2, 4, 6, 8, 10, 11, 12, 14, 16, 18, 20}; int index = find1(arr, num); if (index == -1) { System.out.println("找不到!"); } else { System.out.println(index); } } /** * * @param arr * @param num * @return */ public static int find1(int [] arr,int num){ int star = 0; int end = arr.length-1; while(star <= end){ int mid = (star+end)/2; if (arr[mid] == num){ return mid; } if (arr[mid] > num){ end = mid-1; }else { star = mid+1; } } return -1; } }