黑马程序员技术交流社区

标题: C语言复习2015年7月4日 [打印本页]

作者: maoxiaomi    时间: 2015-7-4 20:20
标题: C语言复习2015年7月4日
十七、数组
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、二维数组元素做函数的参数相当于变量的值传递,二维数组名则是地址传递。
作者: 杨庆庆    时间: 2015-7-4 21:52
赞一下,还有冒泡法呀




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2