欢迎光临散文网 会员登陆 & 注册

第4讲 数组

2023-03-16 15:19 作者:踏月随舟尽西风  | 我要投稿

程序 = 算法 + 数据结构,数组是存储数据的强而有力的手段。

1. 一维数组

1.1 数组的定义

数组的定义方式和变量类似。

1.2 数组的初始化

在main函数内部,未初始化的数组中的元素是随机的。

局部变量会定义在栈里边,全局变量会定义在堆里边 零页 申请完用的时候再开。

堆区在底层,栈区虚拟在上层,中层为静态存储区,总大小为内存大小。

1.3 访问数组元素

通过下标访问数组。

练习题1: 使用数组实现求斐波那契数列的第 N 项。

练习题2:输入一个 n,再输入 n 个整数。将这 n 个整数逆序输出。

 

练习题3:输入一个 n ,再输入 n 个整数。将这个数组顺时针旋转 k(k≤n) 次,最后将结果输出。旋转一次是指:将最左边的数放到最右边。

练习题4:输入 nn 个数,将这 nn 个数按从小到大的顺序输出。

练习题5:计算 22 的 NN 次方。N≤10000

2. 多维数组

多维数组就是数组的数组。

int a[3][4]; // 大小为3的数组,每个元素是含有4个整数的数组。

int arr[10][20][30] = {0}; // 将所有元素初始化为0

// 大小为10的数组,它的每个元素是含有20个数组的数组

// 这些数组的元素是含有30个整数的数组

练习题:输入一个 nn 行 mm 列的矩阵,从左上角开始将其按回字形的顺序顺时针打印出来。

蛇形矩阵

memset 更快初始化,清空数组  <cstring>

按字节处理  sizeof 可以看成函数 也可以看成操作符 不带括号

memset(a, 0, sizeof(a))  0  -1

memcpy 复制数组的值

memcpy(b, a, sizeof a);   a[10] = {1}  b[10]  把a赋值给b

第4讲 数组的评论 (共 条)

分享到微博请遵守国家法律