Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторная работа 22 / lab2_1 / test_adapters / test_adapters
.cpp#include <conio.h>
#include <stdio.h>
#include <process.h>
#include <ctime>
#include <string>
#include <iostream>
#include <stack>
#include <queue>
using namespace std;
void clrscr(){
system("cls");
}
typedef stack<int> Stack;
typedef queue<int> Queue;
typedef priority_queue<int> PQueue;
int main(int argc, char* argv[])
{
clrscr();
srand(time(0));
cout << endl;
cout << "=============================================================" << endl;
cout << "Testing STL sequences' adapters: stack, queue, priority_queue" << endl;
cout << "=============================================================" << endl;
getch();
Stack stack;
Queue queue;
PQueue pqueue;
// test stack
cout << endl;
cout << "--------------" << endl;
cout << "Testing stack:" << endl;
cout << "--------------" << endl;
cout << "stack.empty() = " << stack.empty() << endl;
cout << "stack.size() = " << stack.size() << endl;
cout << endl << "push 10 integers into stack" << endl;
getch();
for(long i = 0; i < 10; i++){
cout << "stack.push(" << i << ")" <<endl;
stack.push(i);
}
cout << "stack.empty() = " << stack.empty() << endl;
cout << "stack.size() = " << stack.size() << endl;
cout << "stack.top() = " << stack.top() << endl;
cout << endl << "pop all elements from stack" << endl;
getch();
while(!stack.empty()) {
cout << "stack.top() = " << stack.top() << "; pop();" << endl;
stack.pop();
}
cout << "stack.empty() = " << stack.empty() << endl;
cout << "stack.size() = " << stack.size() << endl;
getch();
// test queue
cout << endl;
cout << "--------------" << endl;
cout << "Testing queue:" << endl;
cout << "--------------" << endl;
cout << "queue.empty() = " << queue.empty() << endl;
cout << "queue.size() = " << queue.size() << endl;
cout << endl << "push 10 integers into queue" << endl;
getch();
for(long j = 0; j < 10; j++){
cout << "queue.push(" << j << ")" <<endl;
queue.push(j);
}
cout << "queue.empty() = " << queue.empty() << endl;
cout << "queue.size() = " << queue.size() << endl;
cout << "queue.back() = " << queue.back() << endl;
cout << "queue.front() = " << queue.front() << endl;
cout << endl << "pop all elements from queue" << endl;
getch();
while(!queue.empty()) {
cout << "queue.front() = " << queue.front() << "; pop();" << endl;
queue.pop();
}
cout << "queue.empty() = " << queue.empty() << endl;
cout << "queue.size() = " << queue.size() << endl;
getch();
// test priority_queue
srand(time(0));
cout << endl;
cout << "-----------------------" << endl;
cout << "Testing priority_queue:" << endl;
cout << "-----------------------" << endl;
cout << "pqueue.empty() = " << pqueue.empty() << endl;
cout << "pqueue.size() = " << pqueue.size() << endl;
cout << endl << "push 10 random integers into priority_queue" << endl;
getch();
for(long k = 0; k < 10; k++){
int r = rand()%20;
cout << "pqueue.push(" << r << ")" <<endl;
pqueue.push(r);
}
cout << "pqueue.empty() = " << pqueue.empty() << endl;
cout << "pqueue.size() = " << pqueue.size() << endl;
cout << "pqueue.top() = " << pqueue.top() << endl;
cout << endl << "pop all elements from priority_queue" << endl;
getch();
while(!pqueue.empty()) {
cout << "pqueue.top() = " << pqueue.top() << "; pop()" << endl;
pqueue.pop();
}
cout << "pqueue.empty() = " << pqueue.empty() << endl;
cout << "pqueue.size() = " << pqueue.size() << endl;
getch();
return 0;
}
Соседние файлы в папке test_adapters