遍历数组有什么用啊,不就那几个值吗?真不知道为什么要遍历。
4个回答
展开全部
1、最主要的用途是“比较”。
遍历数组中所有的元素,进行比较,得到需要的元素(索引、指针等);
另外计算机的优势就是基础计算效率远高于人类,枚举和遍历就是基础运算的具体体现之一,有重要的实际应用;
2、经典案例
冒泡排序是数组遍历的经典用法;
3、数组的内存分配方式
栈分配和堆分配
栈分配:通常是声明时分配的变量,数组分配的表现为 char *p="abd"; char p1[3]={'1','2','3'};
这种分配方式是在程序启动时已经知道有什么元素了,所以可能你会有“不就是那几个值吗?”的感觉,但是如果有一个场景是需要用户随机输入一个数据进行比较时,仍然需要遍历数组来比较,比如用户输入一个‘c'字符,要求把所有字符(包括用户输入的)按顺序显示出来,这样就需要比较排序用户输入的字符和已有的字符两个数组中所有的元素;
堆分配:这种分配是一个动态分配方式,char *p; 读取用户输入并赋值给变量n;p = new char[n];用户输入字符串,循环赋值给p;然后排序;
这种分配通常是动态生成的,就是说数组元素内容事先不知道,排序算法需要完全根据算法执行,这样就必须遍历数组,对用户输入的字符进行重新排序;
4、建议你看看数据结构和算法方面的书,了解一下数组、指针链表的实际用途,这样就不会疑惑遍历的价值了;
遍历数组中所有的元素,进行比较,得到需要的元素(索引、指针等);
另外计算机的优势就是基础计算效率远高于人类,枚举和遍历就是基础运算的具体体现之一,有重要的实际应用;
2、经典案例
冒泡排序是数组遍历的经典用法;
3、数组的内存分配方式
栈分配和堆分配
栈分配:通常是声明时分配的变量,数组分配的表现为 char *p="abd"; char p1[3]={'1','2','3'};
这种分配方式是在程序启动时已经知道有什么元素了,所以可能你会有“不就是那几个值吗?”的感觉,但是如果有一个场景是需要用户随机输入一个数据进行比较时,仍然需要遍历数组来比较,比如用户输入一个‘c'字符,要求把所有字符(包括用户输入的)按顺序显示出来,这样就需要比较排序用户输入的字符和已有的字符两个数组中所有的元素;
堆分配:这种分配是一个动态分配方式,char *p; 读取用户输入并赋值给变量n;p = new char[n];用户输入字符串,循环赋值给p;然后排序;
这种分配通常是动态生成的,就是说数组元素内容事先不知道,排序算法需要完全根据算法执行,这样就必须遍历数组,对用户输入的字符进行重新排序;
4、建议你看看数据结构和算法方面的书,了解一下数组、指针链表的实际用途,这样就不会疑惑遍历的价值了;
展开全部
遍历数组当然有他的好处,比如循环输出、对数组里的值循环处理,只是方便你处理你的数据才会用到。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵,加入你取出了100条数据,你遍历一下后用一个就可以循环输出这100个数据了,例如
foreach($arr as $k=>$v){
echo $v['XX'];
}
就这么一个遍历,几个代码就可以循环你的上千上万条数据,你说它到底有用没。。。
foreach($arr as $k=>$v){
echo $v['XX'];
}
就这么一个遍历,几个代码就可以循环你的上千上万条数据,你说它到底有用没。。。
追问
用遍历可以数组的成千上万条数据中找到想要的那一个是吗?
追答
嗯,可以方便对取出的数据在做处理
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果一个数组有成百上千甚至几十万上百万个数据,不用遍历的话不是人类能完成的工作。别以为这个数量很夸张,随便处理一张1080P的图片就有两百多万个像素点、共八百多万个char,如果是引擎框架一类的工作,随便一个小游戏或者前端界面就有数百数千个实体。
——————————
不懂可以问,你不懂是你无知,提问是要请求别人给予答案,别带情绪
——————————
不懂可以问,你不懂是你无知,提问是要请求别人给予答案,别带情绪
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询