dsalglib  1.0.0
dsalglib is a ready to use data structures and algorithms library written in C++ . Object Oriented Template implementations are written.
tests.h
Go to the documentation of this file.
1 //
2 // Created by moghya_s on 12/25/2016.
3 //
4 
5 #ifndef DSALGLIB_TESTS_H
6 #define DSALGLIB_TESTS_H
7 #include <iostream>
8 #include "dsalglib.h"
9 #include "sample.h"
10 using namespace std;
11 using namespace dsa;
12 
13 
15 {
16  array<int> a,b;
17  a.push_back(5);
18 
19 
20  b.push_back(5);
21  b.push_back(2);
22  b.push_back(5);
23  b.push_back(2);
24  b.push_back(5);
25  b.push_back(2);
26  b.push_back(1);
27  b.push_back(5);
28  b.push_back(2);
29  b.push_back(5);
30  b.push_back(2);
31  b.push_back(1);
32 
33  kmpsearch(b,a).traverse(print);
34 
35 
36 
37 
38 }
39 
41 {
42  maxheap<int> b;
43  cout<<b.size();
44  b.insert(14);
45  b.insert(15);
46  b.insert(5);
47  b.insert(13);
48  b.insert(6);
49  b.insert(11);
50  b.insert(1);
51  b.insert(12);
52  b.insert(7);
53  b.insert(8);
54  b.insert(9);
55  b.insert(10);
56  b.insert(16);
57  while (b.size()!=0)
58  {
59  cout<<b.popmax()<<" ";
60  }
61 }
62 
64 {
65  avltree<int> b;
66  b.insert(5);
67  b.insert(6);
68  b.insert(7);
69  b.insert(8);
70  b.insert(9);
71  b.insert(10);
72  b.insert(11);
73  b.insert(1);
74  b.insert(12);
75  b.insert(13);
76  b.insert(14);
77  b.insert(15);
78  b.insert(16);
79  //cout<<b.find_max();
80  //b.levelorder(print);
81  cout<<b.height();
82  b.remove(b.find_max());
83  cout<<b.height();
84  b.remove(b.find_min());
85  cout<<b.height();
86 }
87 
88 void bstreeTest()
89 {
91  b.insert(5);
92  b.insert(6);
93  b.insert(7);
94  b.insert(8);
95  b.insert(9);
96  b.insert(10);
97  b.insert(11);
98  //cout<<b.find_max();
99  //b.levelorder(print);
100  cout<<b.height();
101 
102 
103 }
104 
105 void stackTest()
106 {
107  dsa::stack<int> s;
108  cout<<s.size();
109  s.push(10);
110  cout<<s.pop();
111  s.push(5);
112  cout<<s.top_element();
113  s.clear();
114  cout<<s.size();
115 
116 
117 }
118 
119 void arrayTest()
120 {
121  array<int> a;
122  array<int> b;
123  a.push_back(5);
124  a.push_back(2);
125  a.push_back(9);
126  a.push_back(1);
127  a.push_back(7);
128  a.push_back(21);
129  bubblesort(a,a.size());
130  a.traverse(print);
131  a[2]=a[5]+1;
132  cout<<a[2];
133 
134  a.reverse(0,a.size()-1);
135  b=a;
136  a.clear();
137  a.traverse(print);
138 
139  b.traverse(print);
140  cout<<a.size();
141  return ;
142 }
143 
145 {
146  linklist<char> l;
147  l.add_back('a');
148  l.add_back('b');
149  l.add_back('c');
150  l.add_back('d');
151  l.add_front('e');
152  l.traverse(print);
153  l.remove('d');
154  l.traverse(print);
155  l.remove_at(2);
156  l.traverse(print);
157  return ;
158 }
159 
160 void queueTest()
161 {
162  dsa::queue<int> q;
163  cout<<q.size();
164  q.enqueue(5);
165  q.enqueue(6);
166  q.enqueue(7);
167  cout<<q.front_element();
168  while (q.size()!=0)
169  {
170  cout<<q.dequeue()<<" ";
171 
172  }
173  cout<<q.isempty();
174  cout<<q.rear_element();
175 
176 }
177 
178 void sortTest()
179 {
180  array<int> a;
181  a.push_back(5);
182  a.push_back(2);
183  a.push_back(9);
184  a.push_back(1);
185  a.push_back(7);
186  a.push_back(21);
187  bubblesort(a,a.size());
188  a.traverse(print);
189  a.clear();
190  a.push_back(5);
191  a.push_back(2);
192  a.push_back(9);
193  a.push_back(1);
194  a.push_back(7);
195  a.push_back(21);
196  heapsort(a);
197  a.traverse(print);
198  a.clear();
199  a.push_back(5);
200  a.push_back(2);
201  a.push_back(9);
202  a.push_back(1);
203  a.push_back(7);
204  a.push_back(21);
205  quicksort(a,0,a.size()-1);
206  a.traverse(print);
207  a.clear();
208  a.push_back(5);
209  a.push_back(2);
210  a.push_back(9);
211  a.push_back(1);
212  a.push_back(7);
213  a.push_back(21);
214  insertionsort(a,a.size());
215  a.traverse(print);
216  a.clear();
217  a.push_back(5);
218  a.push_back(2);
219  a.push_back(9);
220  a.push_back(1);
221  a.push_back(7);
222  a.push_back(21);
223  mergesort(a,a.size(),0,a.size()-1);
224  a.traverse(print);
225  a.clear();
226  a.push_back(5);
227  a.push_back(2);
228  a.push_back(9);
229  a.push_back(1);
230  a.push_back(7);
231  a.push_back(21);
232  shellsort(a,a.size());
233  a.traverse(print);
234  a.clear();
235  a.push_back(5);
236  a.push_back(2);
237  a.push_back(9);
238  a.push_back(1);
239  a.push_back(7);
240  a.push_back(21);
241  selectionsort(a,a.size());
242  a.traverse(print);
243 
244 }
245 
246 #endif //DSALGLIB_TESTS_H
void quicksort(array< type > arr, long long int start, long long int end)
Definition: quicksort.h:31
void linklistTest()
Definition: tests.h:144
Definition: alginc.h:12
type popmax()
Definition: heap.h:71
void bstreeTest()
Definition: tests.h:88
array< long long int > kmpsearch(array< type > arr, array< type > pat)
Definition: kmpsearch.h:34
void maxheapTest()
Definition: tests.h:40
void mergesort(array< type > arr, long long int size, long long int start, long long int end)
Definition: mergesort.h:46
type dequeue()
Definition: queue.h:84
void selectionsort(array< type > arr, long long int size)
Definition: selectionsort.h:13
void clear()
Definition: stack.h:131
void queueTest()
Definition: tests.h:160
long long int size()
Definition: heap.h:90
void avltreeTest()
Definition: tests.h:63
void bubblesort(array< type > arr, long long int size)
Definition: bubblesort.h:13
type find_min()
Definition: avltree.h:281
long long int size()
Definition: stack.h:110
long long int height()
Definition: bstree.h:228
bool insert(type param)
Definition: avltree.h:243
type rear_element()
Definition: queue.h:135
type enqueue(type param)
Definition: queue.h:60
void reverse(long long int start, long long int end)
Definition: array.h:85
type top_element()
Definition: stack.h:97
void clear()
Definition: array.h:115
long long int size()
Definition: array.h:98
void insertionsort(array< type > arr, long long int size)
Definition: insertionsort.h:12
void traverse(void(fun)(type obj))
Definition: array.h:103
void arrayTest()
Definition: tests.h:119
void stackTest()
Definition: tests.h:105
void heapsort(array< type > arr)
Definition: heapsort.h:54
void kmpsearchTest()
Definition: tests.h:14
void push_back(type param)
Definition: array.h:69
bool isempty()
Definition: queue.h:183
bool insert(type param)
Definition: bstree.h:189
type find_max()
Definition: avltree.h:286
void sortTest()
Definition: tests.h:178
void shellsort(array< type > arr, long long int size)
Definition: shellsort.h:12
long long int size()
Definition: queue.h:172
void print(T obj)
Definition: sample.h:10
long long int height()
Definition: avltree.h:301
bool remove(type param)
Definition: avltree.h:251
type push(type param)
Definition: stack.h:54
bool insert(type param)
Definition: heap.h:63
type pop()
Definition: stack.h:73
type front_element()
Definition: queue.h:119