int main() { int nRow = 3, nCol = 2; int arr[3][2] = {{1, 2}, {3, 4}, {5, 6}}; for (int i = 0; i < nRow; ++i) { for (int j = 0; j < nCol; ++j) { cout << &arr[i][j] << " "; } cout << endl; } cout << endl; return 1; }
在我电脑上的执行结果为:
0x0012FF60 0x0012FF64
0x0012FF68 0x0012FF6C
0x0012FF70 0x0012FF74
由此可以看出二维数组的存储是线性存储。
每种数据结构都具有插入、删除和查找三种基本运算,这种说法并不正确。
一般而言,并不是所有的数据结构都有这三种基本运算。
比如多维数组,就没有插入和删除,可以看看,哪怕是二维数组,如果删除其中某个元素,用行还是列来顶替,顶替后,二维数组不就出现缺口了。
再比如说栈和队列,一般并不需要查找(其实原则上说也不能查找,因为逻辑上其访问点被严格限制在线性表的端点了,即使用顺序存储或者链式存储可以在存储结构中查找)
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关