Скачиваний:
10
Добавлен:
01.05.2014
Размер:
3.58 Кб
Скачать
#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