数据结构课程设计(栈与队列的应用)的运行代码。Dev-c++
时间: 2024-11-05 17:31:34 浏览: 26
devC++自制RPG游戏-菇蛹者1.0
数据结构课程中涉及到栈(Stack)和队列(Queue)的应用,通常会涉及基本的数据结构操作如入栈、出栈、入队、出队等。在Dev-C++环境中编写这类程序,我们可以从以下几个步骤入手:
1. 首先,确保安装了Dev-C++,它是基于GCC的一个免费的C++集成开发环境。
2. 创建一个新的C++项目(Project -> New Project),选择"Console Application"模板。
3. 编辑`main.cpp`文件,引入必要的头文件:
```cpp
#include <iostream>
#include <stack> // 包含栈的头文件
#include <queue> // 包含队列的头文件
using namespace std;
```
4. 定义栈和队列的基本操作函数:
```cpp
// 定义栈
stack<int> stackInstance;
// 入栈操作
void pushStack(int value) {
stackInstance.push(value);
}
// 出栈操作
int popStack() {
if (stackInstance.empty()) {
cout << "Stack is empty." << endl;
return -1; // 返回错误码表示栈空
}
int top = stackInstance.top();
stackInstance.pop();
return top;
}
// 定义队列
queue<int> queueInstance;
// 入队操作
void enqueue(int value) {
queueInstance.enqueue(value);
}
// 出队操作
int dequeue() {
if (queueInstance.empty()) {
cout << "Queue is empty." << endl;
return -1;
}
int front = queueInstance.front();
queueInstance.dequeue();
return front;
}
```
5. 主函数中演示栈和队列的操作:
```cpp
int main() {
int choice, value;
while (true) {
cout << "\nStack Operations:\n1. Push\n2. Pop\n3. Exit\n";
cin >> choice;
switch (choice) {
case 1:
cout << "Enter a number to push: ";
cin >> value;
pushStack(value);
break;
case 2:
value = popStack();
if (value != -1)
cout << "Popped value: " << value << endl;
break;
case 3:
cout << "Exiting..." << endl;
exit(0); // 结束程序
default:
cout << "Invalid choice!" << endl;
}
cout << "\nQueue Operations:\n1. Enqueue\n2. Dequeue\n3. Exit\n";
cin >> choice;
switch (choice) {
case 1:
cout << "Enter a number to enqueue: ";
cin >> value;
enqueue(value);
break;
case 2:
value = dequeue();
if (value != -1)
cout << "Dequeued value: " << value << endl;
break;
case 3:
break; // 如果选择3,跳出当前循环并继续下一个循环
default:
cout << "Invalid choice!" << endl;
}
}
return 0;
}
```
6. 保存并编译运行程序,按照提示选择相应的操作。
注意:在实际教学或作业中,老师可能会有特定的要求或限制,例如不允许使用内置容器或使用特定API。确保在满足课程要求的前提下编写代码。
阅读全文