内容纲要
171讲排序、冒泡、查找、二维数组、杨辉三角
- 冒泡排序
思路
代码
//自己先写的
public class BubbleSort{
public static void main(String[] args){
int[] arr = {24, 69, 80, 57, 13};
//思路分析:先定义一个初始变量0代表数组第一个数,1代表数组第二个数,先对比2者大小。
for(int num = 0;num < arr.length;num++){
for(int i = 0;i < arr.length - num - 1;i++){
if(arr[i] > arr[i + 1]){
int exchange;
exchange = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = exchange;
}
}
}
for(int j: arr){System.out.println("arr[] = " + j);}
}
}
查找
int idex = -1; 然后在if循环里面赋值,判断是否经历过一个 if 循环来确定是否没有找到值,有意思!!
我最初的思路是 break; 换成 return;直接推出程序。。。
多维数组-二维数组
- 理解二维数组
二维数组的使用
- 重点
- 动态初始化第二种方式 、第三种
- new给二维数组中的一维数组开辟空间。
- 二维数组的静态初始化
public class TwoDimensionalArray05 {
public static void main(String[] args){
int arr[][] = {{4,6},{1,4,5,7},{-2}};
//遍历arr[][]这个二维数组。
int sum = 0;//求和.
for(int j = 0;j < arr.length;j++){
for(int i = 0;i < arr[j].length;i++){
System.out.print(arr[j][i] + " ");
sum += arr[j][i];
}System.out.println();
}
System.out.println("sum = " + sum);
}
}
//杨辉三角
/*
请输入杨辉三角的行数:5
1 //1个数 //8
1 1 //2个数 //6
1 2 1 //3个数 //4
1 3 3 1 //每个数之间有3个空格 //2
1 4 6 4 1 //0
*/
//使用二维数组完成。
public class TriangleYang{
public static void main(String[] args){
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入要打印的杨辉三角形层数:");
int count = myScanner.nextInt();
int[][] arr = new int[count][];
for(int row = 0;row < count;row++) {
//for循环给行前面加相应的空格
for(int space = 2*(count-row)-2;space > 0;space -= 2){
System.out.print(" ");
}
//给一维数组分配内存空间,空间大小为第column排;
arr[row] = new int[row+1];
//内层循环输出一维数组
for (int column = 0; column <= row; column++) {
//先if判断row是否为0或者和row是否为column(是的话就输出1,代表首尾的1)
if(column == 0 || column == row){
arr[row][column] = 1;
}else{
arr[row][column] = arr[row-1][column-1] + arr[row-1][column];
}//打印输出
System.out.print(arr[row][column] + " ");
}System.out.println();
}
}
}