当前位置: 首页 > news >正文

总结11(数组)

数组

        1.为什么需要数组

                为了解决大量同类型数据的存储和使用问题

                为了模拟现实世界

       2. 数组的分类

                一维数组

                        1).怎样定义一维数组

                                为n个变量连续分配存储空间。

                                所有的变量数据类型必须相同。

                                所有变量所占的字节大小必须相等。

                                        例子:

                                                int a[5];

                                         (一维数组名不代表数组中的所有元素,代表数组第一个元素的地址)

                        2).有关一维数组的操作

                                初始化:

                                        完全初始化(数组中,每个元素均被赋值了)

                                                int a[5]={1,2,3,4,5};

                                        不完全初始化(数组中,有元素未被赋值。未被初始化元素自动为0

                                                int a[5]={1,2,3};

                                        不初始化(数组中,所有元素未被赋值。所有元素是垃圾值

                                                int a[5];

                                        清零(数组中,每个值变为0)

                                                int a[5]={0};

                                        错误写法:

                                (1)

                                                int a[5];

                                                a[5]={1,2,3,4,5};//错误(错误原因:没有a[5]这个元素,而且将5个值赋给一个元素也不对。只有定义时a[5]中的5表示个数,定义完后再出现a[5]中的5表示下标只有在定义数组的同时才可以整体赋值其他情况下整体赋值都是错误的

                                (2)

                                                int a[5];

                                                a[5]=100;//错误(错误原因:没有a[5]这个元素,最大只有a[4])

                                (3)

                                                 int a[5]={1,2,3,4,5};

                                                int b[5];

                                                如果要把a数组中的值全部赋值给b数组

                                                错误写法:

                                                b=a;//错误(错误原因:a代表a[0]的地址,b代表b[0]的地址)

                                                正确写法:

                                                for(i=0; i<5; i++)

                                                        b[i]=a[i];

                                赋值

                                排序

                                求最大/最小值

                                倒置

                                查找

                                插入

                                删除

                二维数组

                        int a[3][4];

                                总共12个元素,可以当做三行四列看。

                                这12个元素的名字依次为:a[0][0]   a[0][1]   a[0][2]   a[0][3]

                                                                         a[1][0]   a[1][1]   a[1][2]   a[1][3]

                                                                          a[2][0]   a[2][1]   a[2][2]   a[2][3]

                                a[i][j]表示i+1行j+1列的元素

                                int a[m][n];该二维数组右下角位置的元素只能是a[m-1][n-1]

                        初始化:

                                int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

                        操作:

                                输出二维数组内容(使用两个for循环)

                                

                        对二维数组排序

                        求每一行的最大值

                        判断矩阵是否对称

                        矩阵的相乘

                多维数组

                        是否存在多维数组

                                不存在,因为内存是线性一维的,n维数组可以当做每个元素是n-1维数组的一维数组

(eg: (1). int a[3][4];该数组是含有3个元素的一维数组,只不过每个元素都可以再分成4个小元素

         (2).int a[3][4][5];该数组是含有三个小元素的一维数组,只不过每个元素都是4行5列的二维数组)

http://www.lryc.cn/news/291811.html

相关文章:

  • 扩展学习|大数据分析整合到价值创造的大见解
  • 蓝桥杯---牌型种数
  • 【Linux】VMware Workstation16安装银河麒麟高级服务器操作系统V10 SP3 AMD64
  • 中国的茶文化:历史、传统与生活
  • Oracle函数使用
  • 正则表达式与文本三剑客
  • C语言中的数组操作技巧:提升程序的效率和可读性
  • 202 快乐数
  • html css javascript写一个扫雷
  • Unity3D正则表达式的使用
  • SpringBoot,TDengine时序数据库,实现物联网,车联网大批量数据更新最佳实践。
  • 【CSS】常见
  • Django实战
  • redis(1)
  • 【RTP】webrtc 学习2: webrtc对h264的rtp打包
  • 【搜索术】代码阅读理解学习笔记
  • vue 打包下载多层zip文件
  • Flink实战五_状态机制
  • SQL中having与where的区别 简单明了
  • Transformer 自然语言处理(二)
  • 软件测试之软件缺陷管理
  • 分布式锁(Distributed Lock)介绍(基于数据库(mysql);基于缓存(redis);基于ZooKeeper等分布式协调服务)
  • 10 ISIS 基础 报文 状态
  • Python第三方扩展库Matplotlib
  • 单例模式有几种写法?请谈谈你的理解?
  • 帕鲁幻兽 一键开服 简单到爆 教你10秒实现 帕鲁幻兽私服联机服务器搭建
  • 自动化报告pptx-python|如何将pandas的表格写入PPTX(二)
  • Ruby详解及安装流程
  • 免费的ChatGPT网站 ( 7个 )
  • python异步编程(1)——理论篇