Esempio n. 1
0
    for i in range(A.size()):
        A[i] = i
    for i in range(A.size()):
        A[i] = 1

    # 定义一个长度为5的向量B, 初始元素全为3.
    B = Vector(5, 3)
    # 在向量B末尾加入100个2.
    B.resize(B.size() + 100, 2)
    # 在向量V的尾部加入4
    B.push_back(4)
    # 迭代器的另一种用法,使用列表推导
    B = Vector([value * 2 for i, value in enumerate(B)])
    # 若向量B不为空,则持续输出其尾部元素并删除之
    while not B.empty():
        # 输出向量V的末尾元素
        print(B.back())
        # 删除向量V的末尾元素
        B.pop_back()

    # 接收未知长度的自然数输入序列, 以负数作为输入终止
    C = Vector()
    # 基于push_back操作的速度非常快.
    while True:
        num = int(input())
        if num >= 0:
            C.push_back(num)
        else:
            break
    print(C)
if __name__ == '__main__':

    n = 42
    c = 1

    # 定义
    V1 = Vector(n)

    # 初始化
    A1 = [c for i in range(n)]
    V2 = Vector(n, c)

    # 列表初始化
    V3 = Vector([1, 2, 3, 4, 5])
    print(V3)

    # 动态变化
    V3.push_back(6)
    print(len(V3))
    print(V3.front(), V3.back())
    V3.pop_back()
    print(len(V3))
    print(V3.front(), V3.back())

    # 迭代器
    for _, v in enumerate(V3):
        print(v, end=" ")
    print()