杨辉三角
public static void yangHui() {
int[][] arr = new int[10][];
for (int i = 0; i < arr.length; i++) {
arr[i] = new int[i+1];
arr[i][0] = arr[i][i] = 1;
for (int j = 1; j < i; j++) {
arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
}
}
for (int i = 0; i < arr.length; i++) {
for (int j = arr.length; j > i ; j--) {
System.out.print(" ");
}
for (int j = 0; j < arr[i].length; j++) {
System.out.print(" " + arr[i][j]);
}
System.out.println();
}
}
冒泡排序
public static void sort() {
int[] arr = new int[]{3,-1,0,1,10,7,8,4,-5,9};
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-1-i; j++) {
int temp = arr[j];
if (arr[j] > arr[j+1]) {
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for (int i : arr) {
System.out.print(i + " ");
}
}
二分法查找
public static void test() {
int temp = 10;
boolean isFlag = false;
int[] arr = new int[]{3, 5, 10, 17, 69, 200, 888};
int head = 0;
int end = arr.length - 1;
while (head <= end) {
int middle = (head + end) / 2;
if (temp == arr[middle]) {
System.out.println(temp+"的下标为:"+middle);
isFlag = true;
break;
} else if (temp > arr[middle]) {
head = middle + 1;
} else {
end = middle - 1;
}
}
if (!isFlag) {
System.out.println("抱歉,"+temp+"没有找到");
}
}
数组反转
public static void reversal() {
String[] names = new String[]{"aa", "bb", "cc", "dd", "gg", "hh", "ii", "jj", "ee"};
for (int i = 0, j = names.length-1; i < j; i++, j--) {
String temp = names[i];
names[i] = names[j];
names[j] = temp;
}
for (int i = 0; i < names.length / 2; i++) {
String temp = names[i];
names[i] = names[names.length-1-i];
names[names.length-1-i] = temp;
}
for (String name : names) {
System.out.print(name + " ");
}
}