Tutorial 18. Advanced Data Structures: vector

vectorはstd::vectorを基礎としたplangのdynamic array typeです。

Constructors
vector()
    Effects: 空のvectorを生成します

vector(T1& n)
    Effects: 要素数nのvectorを生成します。要素は全てnilとなります
    Remarks: T1はunsigned intへキャスト可能なデータ型であるべきです
    
vector(T1& n, T2& x)
    Effects: xのコピーがn個のvectorを生成します
    Remarks: T1はunsigned intへキャスト可能なデータ型であるべきです

Methods: Capacity
unsigned int size()
    Returns: vectorの要素数を返します

nil resize(T1& n)
    Effects: 要素数nのvectorとなります。要素は全てnilとなります
    Remarks: T1はunsigned intへキャスト可能なデータ型であるべきです

nil resize(T1& n, T2& x)

    Effects: xのコピーがn個のvectorとなります
    Remarks: T1はunsigned intへキャスト可能なデータ型であるべきです

bool empty()
    Returns: size()==0のときtrueを返します。さもなければfalseを返します

Methods: Element Access
T1& at(T2& n)
    Returns: n番目の要素を返します
    Remarks: T2はunsigned intへキャスト可能なデータ型であるべきです

T& front()
    Returns: 0番目の要素を返します
    Remarks: empty vectorでは使用できません

T& back()
    Returns: size-1番目の要素を返します
    Remarks: empty vectorでは使用できません

Methods: Modifiers

T1& replace(T2& n, T3& x)
    Returns: このmethodが呼ばれる前までn番目の要素だった値を返します
    Effects: n番目の要素はxのコピーとなります
    Remarks: T2はunsigned intへキャスト可能なデータ型であるべきです

T& push_back(T& x)
    Returns: 挿入された要素を返します
    Effects: vectorの要素数を+1し、vectorの最後にxのコピーを挿入します

T& pop_back()
    Returns: 削除された要素を返します
    Effects: vectorの最後の要素を削除し、vectorの要素数を-1します
    Remarks: empty vectorでは使用できません

nil swap(vector& x)

    Effects: xの要素と自身の要素を交換します

nil clear()
    Effecst: 全要素を削除します


Next: Tutorial 19. Advanced Data Structures: list
Prev: Tutorial 17. Includes