十七、数组
6、选择排序(selection sort )
void selectSort (int a[ ],int n) {
int t;
for (int i=0; i<n-1; i++;) {
for(int j=i+1; j<n; j++) {
if (a[i]>a[j]) {
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
}
7、折半查找
int searchItem (int a[ ],int n,int key) {
int low = 0,high = n-1,mid;
while (low <= high) {
mid = (low + high) / 2;
if (key > a[mid]) {
low = mid + 1;
}else if(key < a[mid]) {
high = mid - 1;
}esle{
return mid;
}
}
}
8、二维数组
1、一个一维数组的每一个元素又被声明为一维数组,从而构成二位数组是特殊的一维数组;
2、类型说明符 数组名[常量表达式1][常量表达式2],表达式1代表行长度,表达式2代表列长度;
3、二维数组的初始化
1)定义同时初始化
A、完全初始化:分段赋值 int a[m] [n] ={{a,b……},{c,d……},……},连续赋值 int a[m] [n] = {a,b,c,d……},省略一维长度的分段和连续;
B、部分初始化: 未初始化的元素自动赋值为0。
2)先定义后初始化
4、二维数组的遍历 :使用双重for循环 a[m][n]
for (int i = 0;i < m;i++) {
for (int j = 0; j < n;j++) {
printf ("d%\t,a[i][j]")
}
}
return = 0;
5、二维数组的存储通一维数组。
6、二维数组元素做函数的参数相当于变量的值传递,二维数组名则是地址传递。 |
|