二维数组:
二维数组可以看成是多个数组组成的一个数组
比如:
int arr[2][3]={{1,2,3},{4,5,6}};
int 和一维数组一样 代表的的数组的类型
arr和一维数组一样 是这个数组数组的名字
和一维数组不同的是 二维数组有两个中括号 赋值也不同
其中的第一个括号表示的是: 这个二维数组有多少个一维数组构成
第二个括号表示构成这个二维数组的每个一维数组有多少元素
定义方式比较多:
int arr[2][3]={{1,2,3},{4,5,6}};
int arr[2][3]={1,2,3,4,5,6};
int arr[][3]={{1,2,3},{4,5,6},{7,8,9}};
代表行数的可以不赋初值 代表列数的必须赋初值
比如:
int arr[][]={};
这是一种错误的定义
打印方法:
int arr[2][3]={{1,2,3},{4,5,6}};
for(int i = 0; i < 2; i++){
for(int j = 0; j < 3;j++){
printf("%d%d%d",i,i,a[i][j]);
}
}
快速查找
核心:
先假定一个初值
与数组里面的数进行对比
不满足条件替换
二分查找
以大到小的顺序进行数组排列;
关键在于头值与末值得移动判定;