冒泡排序
1 2 3 4 5 6 7 8 9 10 11
| int[] arr = {24, 69, 80, 57, 13}; int temp = 0; for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length - 1 - i; j++) { if (arr[j] > arr[j + 1]) { temp = arr[j]; arr[j] = arr[j+1]; arr[j + 1] = temp; } } }
|
查找
在java中,我们常用的查找有两种
- 顺序查找Sequence
- 二分查找
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
String[] names = {"白眉鹰王", "金毛狮王", "紫衫龙王", "青翼蝠王"}; Scanner myScanner = new Scanner(System.in);
System.out.println("请输入名字"); String findName = myScanner.next();
int index = -1; for (int i = 0; i < names.length; i++) { if (findName.equals(names[i])) { System.out.println("找到 " + findName); System.out.println("下标为= " + i); index = i; break; } }
if (index == -1) { System.out.println("没有找到 " + findName); }
|
二维数组的使用
TwoDimensionalArray
输出二维数组
0 0 0 0 0 0
0 0 1 0 0 0
0 2 0 3 0 0
0 0 0 0 0 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
int[][] arr = {{0,0,0,0,0,0},{0,0,1,0,0,0},{0,2,0,3,0,0},{0,0,0,0,0,0}};
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + " "); } System.out.println();
}
|
1 2 3 4 5 6 7
|
System.out.println("二维数组的元素个数为" + arr.length);
System.out.println("第3个一维数组的第4个值=" + arr[2][3]);
|
二维数组的内存原理图

动态初始化-列数不确定

1 2 3 4 5 6 7 8 9 10 11
| int[][] arr = new int[3][]; for (int i = 0; i < arr.length; i++) { arr[i] = new int[i + 1];
for (int j = 0; j < arr[i].length; j++) { arr[i][j] = i + 1; } }
|
杨辉三角
1 2 3 4 5 6 7
| 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 ...
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| int[][] yangHui = new int[10][]; for (int i = 0; i < yangHui.length; i++) { yangHui[i] = new int[i+1]; for (int j = 0; j < yangHui[i].length; j++) { if (j == 0 || j == yangHui[i].length - 1) { yangHui[i][j] = 1; } else { yangHui[i][j] = yangHui[i-1][j] + yangHui[i-1][j-1]; } } }
for (int i = 0; i < yangHui.length; i++) { for (int j = 0; j < yangHui[i].length; j++) { System.out.print(yangHui[i][j] + "\t"); } System.out.println(); }
|