consolidate all repos to one for archive
This commit is contained in:
33
semester_2/programiranje_2/primeri/Example28/List.h
Normal file
33
semester_2/programiranje_2/primeri/Example28/List.h
Normal file
@@ -0,0 +1,33 @@
|
||||
#ifndef EXAMPLE28_LIST_H
|
||||
#define EXAMPLE28_LIST_H
|
||||
#include "Node.h"
|
||||
|
||||
class List {
|
||||
private:
|
||||
Node* ptrStart;
|
||||
public:
|
||||
List() : ptrStart(nullptr) {
|
||||
}
|
||||
~List() {
|
||||
}
|
||||
void insertAtBeginning(int el) {
|
||||
Node* temp= new Node();
|
||||
temp->set(el, ptrStart);
|
||||
ptrStart=temp;
|
||||
}
|
||||
int deleteAtBeginning() {
|
||||
Node* temp = ptrStart;
|
||||
ptrStart=ptrStart->getNext();
|
||||
return temp->getData();
|
||||
}
|
||||
void print() {
|
||||
Node* temp = ptrStart;
|
||||
while (temp != nullptr) {
|
||||
std::cout << temp->getData() << " ";
|
||||
temp=temp->getNext();
|
||||
}
|
||||
std::cout << std::endl;
|
||||
}
|
||||
};
|
||||
|
||||
#endif //EXAMPLE28_LIST_H
|
25
semester_2/programiranje_2/primeri/Example28/Node.h
Normal file
25
semester_2/programiranje_2/primeri/Example28/Node.h
Normal file
@@ -0,0 +1,25 @@
|
||||
#ifndef EXAMPLE28_NODE_H
|
||||
#define EXAMPLE28_NODE_H
|
||||
|
||||
class Node {
|
||||
private:
|
||||
int data;
|
||||
Node* ptrNext;
|
||||
public:
|
||||
Node() : data(0), ptrNext(nullptr) {
|
||||
}
|
||||
~Node() {
|
||||
}
|
||||
int getData() {
|
||||
return data;
|
||||
}
|
||||
Node* getNext() {
|
||||
return ptrNext;
|
||||
}
|
||||
void set(int d, Node* n) {
|
||||
data=d;
|
||||
ptrNext=n;
|
||||
}
|
||||
};
|
||||
|
||||
#endif //EXAMPLE28_NODE_H
|
18
semester_2/programiranje_2/primeri/Example28/Stack.h
Normal file
18
semester_2/programiranje_2/primeri/Example28/Stack.h
Normal file
@@ -0,0 +1,18 @@
|
||||
|
||||
#ifndef EXAMPLE28_STACK_H
|
||||
#define EXAMPLE28_STACK_H
|
||||
#include "List.h"
|
||||
|
||||
class Stack : private List {
|
||||
public:
|
||||
Stack() : List() {
|
||||
}
|
||||
void push(int x) {
|
||||
insertAtBeginning(x);
|
||||
}
|
||||
int pop() {
|
||||
return deleteAtBeginning();
|
||||
}
|
||||
};
|
||||
|
||||
#endif //EXAMPLE28_STACK_H
|
25
semester_2/programiranje_2/primeri/Example28/main.cpp
Normal file
25
semester_2/programiranje_2/primeri/Example28/main.cpp
Normal file
@@ -0,0 +1,25 @@
|
||||
#include <iostream>
|
||||
#include "List.h"
|
||||
#include "Stack.h"
|
||||
|
||||
int main() {
|
||||
List l;
|
||||
l.insertAtBeginning(5);
|
||||
l.insertAtBeginning(4);
|
||||
l.print();
|
||||
l.insertAtBeginning(3);
|
||||
l.print();
|
||||
l.deleteAtBeginning();
|
||||
l.print();
|
||||
std::cout << "-------------------" << std::endl;
|
||||
/*
|
||||
Stack myStack;
|
||||
myStack.push(5);
|
||||
myStack.push(4);
|
||||
std::cout << myStack.pop() << std::endl;
|
||||
std::cout << myStack.pop() << std::endl;
|
||||
|
||||
//List* ptrList = new Stack(); //error
|
||||
*/
|
||||
return 0;
|
||||
}
|
Reference in New Issue
Block a user