Summary Files Commits Branches @commit @diff @stats
path: root / Year 2 / Structures and data algorithms / HomeworkExamPrep / main.cpp
blob: 060e94c2baf5fa0031b3a1cb9f856c60d376cc84 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>

// #include "Stack/Stack_Static.hpp"
// #include "Stack/Stack_DynamicSeq.hpp"
#include "Stack/Stack_Dynamic.hpp"

// #include "Queue/Queue_Static.hpp"
#include "Queue/Queue_Dynamic.hpp"

#include "LinkedList.hpp"

int main() {
	// Stack
	Stack<int> nums1;
	nums1.push(1);
	nums1.push(2);
	nums1.push(3);
	for (unsigned i = 0; i < 3; i++) {
		std::cout << nums1.top() << ", ";
		nums1.pop();
	}
	nums1.push(4);
	std::cout << nums1.top() << std::endl;

	// Queue
	Queue<int> nums2;
	nums2.push(1);
	nums2.push(2);
	nums2.push(3);
	for (unsigned i = 0; i < 3; i++) {
		std::cout << nums2.front() << ", ";
		nums2.pop();
	}
	nums2.push(4);
	std::cout << nums2.front() << std::endl;

	// Linked List
	LinkedList<int> nums3;
	nums3.push_front(1);
	nums3.push_back(3);
	nums3.push_at(1, 2);
	for (int& i : nums3)
		std::cout << i << ", ";
	std::cout << std::endl;

	LinkedList<int> nums4;
	nums4.push_back(1);
	nums4.push_back(2);
	nums4.push_back(3);
	nums4.push_front(5);
	nums4.push_back(5);
	nums4.push_at(2, 5);
	nums4.pop_at(2);
	nums4.pop_front();
	nums4.pop_back();
	for (const int& i : nums4)
		std::cout << i << ", ";
	std::cout << std::endl;
}