A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© maoxiaomi 中级黑马   /  2015-7-4 20:20  /  612 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

十七、数组
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、二维数组元素做函数的参数相当于变量的值传递,二维数组名则是地址传递。

1 个回复

倒序浏览
赞一下,还有冒泡法呀
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马