有关队列操作(Python)

发布于 2022-05-28  534 次阅读


请实现一个MyQueue类,实现出队,入队,显示队列,求队列长度。

实现入队方法 push(int x); 实现出队方法 pop(); 实现求队列长度方法 size();实现显示队列方法:show() 。

输入格式:

每个输入包含1个测试用例。

每个测试用例第一行给出一个正整数 n (n <= 10^6) ,接下去n行每行一个数字,表示一种操作: 1 x : 表示从队尾插入x,0<=x<=2^31-1。 2 : 表示队首元素出队。 3 : 表示求队列长度。4:表示显示队列中所有元素。

输出格式:

对于操作1,将要添加的元素添加到队列的尾部

对于操作2,若队列为空,则输出 “Invalid”,否则请输出队首元素,并将这个元素从队列中删除。

对于操作3,请输出队列长度。 每个输出项最后换行。

对于操作4,输出队列中每个元素,元素之间用空格分隔,最后一个元素后面没有空格。

输入样例:

在这里给出一组输入。例如:

9
1 23
1 34
3
4
2
1 56
2
3
1 90

输出样例:

在这里给出相应的输出。例如:

2
23 34
23
34
1

代码长度限 16 KB

时间限 400 ms

内存限 64 MB

def push(x):
    num.append(x)


def pop():
    if len(num) == 0:
        print("Invalid")
    else:
        print(num[0])
        del num[0]


def size():
    print(len(num))


def show():
    for j in range(0, len(num)-1):
        print(num[j], end=" ")
    print(num[len(num)-1])


n = int(input())
num = []
for i in range(n):
    nn = input()
    if int(nn.split(" ")[0]) == 1:
        push(int(nn.split(" ")[1]))
    elif int(nn.split(" ")[0]) == 2:
        pop()
    elif int(nn.split(" ")[0]) == 3:
        size()
    elif int(nn.split(" ")[0]) == 4:
        show()



systemctl start study