1.一维数组的定义:格式
类型标识符 数组名;[常量表达式];类型标识符可以是任何基本数据类型,也可以是结构体等构造类型,相同类型的速度可以一起定义。数组必须是合法的标识符。常量表达式的值为数组元素的个数。如int d[60]; int d[610]; #define N 60 int b[N];一堆数组元素的引用 引用格式 数组名[下标] 下标越界是大忌。一堆数组的储存结构:数组在计算机内存单元中是连续储存的。程序一旦执行到数组的定义语句,就会开辟出若干字节的内存单元。2:一维数组的输入与输出(1)键盘读入int h[100];for(i = 0; i < 100; i++) cin >> h[i];(2)直接赋值int h[100],a[20];for(i = 0;i < 20; i++) h[i] = 0;for(i = 0;i < 20; i++) a[i]= i * 2 + 1;两个给数组“整体”赋值的函数memset函数 使用前需要含头文件:#include如memset(a,0,sizeof(a));//将a数组所有元素均赋值为零memset(c,0,5);//将c数组前5个字节都赋值为零,只能确定c[0] == 0,其他元素值不确定。fill函数需要包含头文件:#include如fill(d,d+5,8);//将d数组前5个元素都赋值为8,其他元素值不确定3.一维数组的插入删除应用举例:插队问题,队伍调整。N个人的排队情况可以用数组q表示。q[i]表示排在第i个位置的上人。定义数组时多定义一个位置,然后重复执行 q[i] = q[i] ,其中,i从nx。最后执行q[x]=q[n+1],输出q[i]q[n]。4一维数组的查找统计二分查找又称“折半”查找,其优点是比较次数少,查找速度快。算法框架int left = 0, right = …; while(…) { int mid = (right + left) / 2; if (nums[mid] == target) { … } else if (nums[mid] < target) { left = … } else if (nums[mid] > target) { right = … } } return …;}5一维数组的元素排序算法1 选择排序算法2 冒泡排序算法3 插入排序6二维数组的定义和操作一般格式 类型标识符 数组名 [常量表达式1] [常量表达式2];如int h[4][5]; 表明数组有45=20个元素,每个元素都是int型二维数组定义时同时,可以进行初始赋值,例如int a[2][3] = {{1,2,3},{4,5,6}};//分行初始化int a[2][3] = {1,2,3,4,5,6};//不分行初始化都相当于六个语句定义二维数组时,可以省略第一维的大小,但第二维的大小不能省略。如:“int a[ ][5];”是允许的,被省略的第一维大小根据初值的个数由系统来确定。二维数组的储存及元素引用数组名 [下标1][下标2]7字符数组
数组
最新推荐文章于 2024-08-28 11:36:58 发布