遍历多维数组(Traverse Multidimensioned Arrays)

分别使用下标和指针遍历二维数组。

使用指针遍历

#include <iostream>
using namespace std;

int main()
{

  int ia[3][4] = {      // 3 个元素,每个元素是一个有4 个int 元素的数组
  {0, 1, 2, 3} ,          // 0 行的初始化列表
  {4, 5, 6, 7} ,          // 1 行的初始化列表
  {8, 9, 10, 11}          // 2 行的初始化列表
          };

  int (*p)[4];

  for (p = ia; p != ia + 3; ++p)
    for (int *q = *p; q != *p + 4; ++q)
      cout << *q <<endl;

    return 0;
}

使用下标遍历

#include <iostream>
using namespace std;

int main()
{

  int ia[3][4] = {      // 3 个元素,每个元素是一个有4 个int 元素的数组
  {0, 1, 2, 3} ,          // 0 行的初始化列表
  {4, 5, 6, 7} ,          // 1 行的初始化列表
  {8, 9, 10, 11}          // 2 行的初始化列表
          };

  int (*p)[4];

  for(size_t i=0; i!=3; i++)
    for(size_t j=0; j!=4; j++)
      cout<<ia[i][j]<<endl;

    return 0;
}

时间: 2024-10-25 22:09:29

遍历多维数组(Traverse Multidimensioned Arrays)的相关文章

PHP foreach遍历多维数组实现方式_php技巧

介绍 正常我们的foreach可以按顺序把一维数组里面每个 key => value 打印出来,但是如果是多维数组则需要循环在嵌套循环,或则递归实现,但是这些方式都不够灵活,因为在不确定该数组是几维的情况下,不可能永无止境的嵌套循环,如果采用递归到可以解决,但是如果只想使用foreach全部循环出来该如何实现? 实现方式 一采用PHP本身自带的迭代器类 RecursiveIteratorIterator $test_arr = array(1,2,3,array(4,'aa'=>5,6,arr

php 遍历二维数组与多维数组代码

 代码如下 复制代码 function arr_foreach ($arr) {  if (!is_array ($arr)) {   return false;  }  foreach ($arr as $key => $val ) {   if (is_array ($val)) {    arr_foreach ($val);   } else {    echo $val.'<br/>';   }  } }   $arr1 = array (1=>array(11,12,1

PHP递归遍历多维数组实现无限分类的方法_php技巧

本文实例讲述了PHP递归遍历多维数组实现无限分类的方法.分享给大家供大家参考,具体如下: <?php //$data[]=array('id'=>1,'parentid'=>0,'name'=>'中国','img'=>'52091199'); $data[]=array('id'=>1,'parentid'=>0,'name'=>'中国'); $data[]=array('id'=>2,'parentid'=>0,'name'=>'美国')

PHP中使用foreach()遍历二维数组的简单实例_php技巧

第一种类型 想用foreach()遍历整个二维数组: $team = array('lk','ok'); $book = array('linux服务器配置与管理',$team); foreach($book as $k=>$val) //for $book each $value( as ) echo $k.'=>'.$val.''; 输出结果是: 0=>linux服务器配置与管理 1=>Array 当然,其实我是想要所有具体内容,而不是输出array... 所以应该采用如下做法

php 遍历多维数组方法

在php遍历数组有三个函数foreach.each.list & each下面我们看它们是如何遍历多维数组的. 先看一个遍历二维数组  代码如下 复制代码 <?php  $sports = array(      'football' => 'good',      'swimming' => 'very well',      'running'  => 'not good'      );        foreach ($sports as $key => $v

php递归遍历多维数组的方法_php技巧

本文实例讲述了php递归遍历多维数组的方法.分享给大家供大家参考.具体如下: <?php function get_array_elems($arrResult, $where="array"){ while(list($key,$value)=each($arrResult)){ if (is_array($value)){ get_array_elems($value, $where."[$key]"); } else { for ($i=0; $i<

php实现遍历多维数组的方法_php技巧

本文实例讲述了php实现遍历多维数组的方法.分享给大家供大家参考,具体如下: $a=array('fruits'=>array('a'=>'orange','b'=>'grape',c=>'apple'), 'numbers'=>array(1,2,3,4,5,6), 'holes'=>array('first',5=>'second','third') ); //第一种: foreach($a as $list=>$things){ if(is_array

PHP特定函数foreach遍历一二维数组

foreach有两种用法: 一.   foreach(arr_name as $value)     {              statement;      } 解析:arr_name是要遍历的数组名.每次循环,arr_name数组当前元素的值都被赋给$value,而且数组内部下标也要下移一个,也就是说下次循环得到的将是下一个元素 二. foreach(arr_name as $key => $value)    {               statement;     }  解析:与

C/C++遍历二维数组,列优先(column-major)比行优先(row-major)慢,why?

C/C++遍历二维数组,列优先(column-major)比行优先(row-major)慢,why? 简单粗暴的答案:存在Cache机制! 稍微啰嗦一点:CPU访问内存(读/写,遍历数组的话主要是读),不是每次都直接从内存上操作,而是先看Cache里是否有所指定地址的值! 这个问题,stackoverflow上有人问过的,结论是:CPU读取内存某地址处的值,并不是每次都去内存中取出来,有时候会从cache里读取.当初次访问数组的时候,会把连续一块(chunk)内存地址上的值都读到cache里(比