python ADT 双端队列

  • 本文关键字:队列 ADT python python
  • 更新时间 :
  • 英文 :


实现 ADT 双端队列。 此 ADT 类似于队列,但支持在队列的任一端添加和删除的函数。

看来我正在努力解决删除部分。这是我尝试过的:

class deq:
def __init__(self):
    self.item = []
def is_empty(self):
    return self.item == None
def size(self):
    return len(self.item)
def add_front(self, item):
    self.item.insert(0,item)
def add_back(self, item):
    selft.item.append(item)
def remove_front(self, item):
    self.item.remove(item)
def remove_back(self, item):
    self.item.pop()

输出的示例屏幕截图:这是示例输出

remove_front和remove_back不应该消耗项目(根据这些测试和队列是什么(。

remove_front总是删除第一个元素,remove_back总是删除最后一个元素。因此,这些函数不需要传递项目。

def remove_front(self):
    self.item.pop(0)
def remove_back(self):
    self.item.pop()

您可以通过查看测试失败的原因,在 2 秒内轻松地自己调试它:"缺少 1 个位置参数"。这意味着自动测试调用函数的参数比函数预期的少一个。

#include <iostream>
int main() {
    int choice;
    while (true) {
        // Displaying the menu options
        std::cout << "Menu Options:n";
        std::cout << "1. Option 1n";
        std::cout << "2. Option 2n";
        std::cout << "3. Option 3n";
        std::cout << "4. Option 4n";
        std::cout << "5. Exitn";
        std::cout << "Enter your choice: ";
        std::cin >> choice;
        switch (choice) {
            case 1:
                std::cout << "You selected Option 1.n";
                // Perform actions for Option 1
                break;
            case 2:
                std::cout << "You selected Option 2.n";
                // Perform actions for Option 2
                break;
            case 3:
                std::cout << "You selected Option 3.n";
                // Perform actions for Option 3
                break;
            case 4:
                std::cout << "You selected Option 4.n";
                // Perform actions for Option 4
                break;
            case 5:
                std::cout << "Exiting the program. Goodbye!n";
                return 0;
            default:
                std::cout << "Invalid choice. Please try again.n";
                break;
        }
    }
    return 0;
}

最新更新