數(shù)組的抽象數(shù)據(jù)類型
數(shù)組其實是一個連續(xù)儲存的線性表平挑,而由于高維數(shù)組都可以轉化成對應的一維數(shù)組恩溅,所以從這個角度來說,數(shù)組就是一個連續(xù)存儲的線性表
抽象數(shù)據(jù)類型是對一個數(shù)學模型及定義其上的一種稱謂箭启。在程序設計中語言中,抽象數(shù)據(jù)類型就是基于原子型數(shù)據(jù)類型構建的結構型數(shù)據(jù)類型以及定義在其上的操作
最常用的數(shù)據(jù)結構是數(shù)組結構棚品,數(shù)組結構的特點是:
成分數(shù)據(jù)的個數(shù)固定靠欢,它們之間的邏輯關系由數(shù)組下標來體現(xiàn)。這些成分數(shù)據(jù)按照序號的先后順序連續(xù)地排列起來铜跑。每一個成分數(shù)據(jù)具有相同的結構门怪,也就是屬于同一個數(shù)據(jù)類型。所有的成分數(shù)據(jù)被依序安排在一片連續(xù)的存儲單元中疼进。所以薪缆,數(shù)組結構是一個線性的、均勻的伞广、其成分數(shù)據(jù)可隨機訪問的結構
數(shù)組的抽象類型描述如下:
const int DefaultSize = 100;
template <class Type>
template <class Type>
class Array
{
? ? ? ? Type? *elements;
????????int ArraySize;
public:
? ????? Array(int Size=DefaultSize);
????????Array(const Array<Type>& x);
????????~Array()? {delate? [ ] elements;}
????????Array<Type> & operator = (const Array<Type> & rhs);
????????Type& operator [ ] ( int i );
????????int Length () const { return ArraySize; }
????????void ReSize ( int sz );
}
數(shù)組的抽象數(shù)據(jù)類型中拣帽,類的私有成員變量包括指針型變量 elements 和整型變量 ArraySize ,其中?elements 給出了數(shù)組的數(shù)據(jù)集合嚼锄,ArraySize 表示數(shù)組中元素的個數(shù)减拭,并通過公共成員函數(shù) Resize() 來對?ArraySize 進行修改以動態(tài)地改變數(shù)組容量