数组作为数据结构需要掌握的有三种,他们分别是作为抽象数据类型的数组,顺序表和字符串(String)。
1. 作为抽象数据类型的数组
计算机的内存可以看做从0到该内存大小的连续空间。数组的分配空间是连续的,下图中’α’ 是数组连续的起点:
1.1 一维数组的特点
- 连续存储的线性聚集(别名 向量)
- 除第一个元素外,其他每一个元素有一个且仅有一个直接前驱
- 除最后一个元素外,其他每一个元素有且仅有一个直接后驱,如上图所示
如果将数组作为一个抽象数据结构,它的实现代码可以参考如下:
#include <iostream>
using namespace std;
class sz
{
private:
//定义数组元素及类型为int
int e;
public:
//新建元素,不赋值则赋值为0
sz(){ e = 0;}
sz(int value){e = value;}
int get_value(){return e;}
};
int main()
{
//定义数组
sz a[3]={3,5,7},*elem;
/*打印静态数组的值*/
for(int i=0;i<3;i++)
cout<<a[i].get_value()<<endl;
/*打印动态数组*/
cout<<endl;
elem = a;
for(int i=0;i<3;i++)
{
cout<<elem->get_value()<<endl;
elem++;
}
return 0;
}
C++中一维数组(Array)类的定义如下: