consolidate all repos to one for archive
This commit is contained in:
28
semester_2/programiranje_2/primeri/Example18/Stack.h
Normal file
28
semester_2/programiranje_2/primeri/Example18/Stack.h
Normal file
@@ -0,0 +1,28 @@
|
||||
|
||||
#ifndef EXMAPLE18_STACK_H
|
||||
#define EXMAPLE18_STACK_H
|
||||
|
||||
typedef void* T;
|
||||
|
||||
class Stack {
|
||||
private:
|
||||
int top;
|
||||
T* impl; // an array of pointers to void
|
||||
public:
|
||||
Stack(int n=5) : top(-1), impl(new T[n]) {
|
||||
}
|
||||
~Stack() {
|
||||
delete[] impl;
|
||||
}
|
||||
bool empty() const {
|
||||
return top == -1;
|
||||
}
|
||||
void push(T el) {
|
||||
impl[++top] = el;
|
||||
}
|
||||
T pop() {
|
||||
return impl[top--];
|
||||
}
|
||||
};
|
||||
|
||||
#endif //EXMAPLE18_STACK_H
|
20
semester_2/programiranje_2/primeri/Example18/main.cpp
Normal file
20
semester_2/programiranje_2/primeri/Example18/main.cpp
Normal file
@@ -0,0 +1,20 @@
|
||||
#include <iostream>
|
||||
#include "Stack.h"
|
||||
|
||||
int main() {
|
||||
Stack myStack(10);
|
||||
char plus = '+';
|
||||
char c = 'c';
|
||||
//int a=65;
|
||||
//double b=1.23;
|
||||
|
||||
myStack.push(&plus);
|
||||
myStack.push(&plus);
|
||||
myStack.push(&c);
|
||||
//myStack.push(&a);
|
||||
//myStack.push(&b);
|
||||
while (!myStack.empty()) {
|
||||
std::cout << *(char*)myStack.pop() << " ";
|
||||
}
|
||||
return 0;
|
||||
}
|
Reference in New Issue
Block a user