Tutorial 19. Advanced Data Structures: list

listはstd::listを基礎としたplangのlinked list typeです。

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

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

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

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

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

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

nil resize(T1& n, T2& x)
    Effects: xのコピーがn個のlistとなります
    Remarks: T1はunsigned intへキャスト可能なデータ型であるべきです   

Methods: Element Access

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

T& back()

    Returns: size-1番目の要素を返します
    Remarks: empty listでは使用できません

Methods: Modifiers

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

T& pop_back()

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

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

T& pop_front()

    Returns: 削除された要素を返します
    Effects: listの最初の要素を削除し、listの要素数を-1します
    Remarks: empty listでは使用できません

nil swap(vector& x)

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

nil clear()

    Effecst: 全要素を削除します


Next: Tutorial 20. Advanced Data Structures: hash
Prev: Tutorial 18. Advanced Data Structures: vector