klips/plates/cpp-datastruct/include/lib-datastruct.h

49 lines
809 B
C
Raw Normal View History

#ifndef LDS_H
#define LDS_H
#include <iostream>
class Node {
public:
Node() : next(NULL) {};
Node(char val) : data(val), next(NULL) {};
char data;
Node *next;
};
// Linked list
class LinkedList {
public:
LinkedList() : head(NULL), tail(NULL) {};
void Append(char val);
void Push(char val);
void Remove(char val);
void Replace(char remove, char replace);
void Display() const;
bool isEmpty() const;
Node* Find(char val) const;
private:
Node *head, *tail;
};
// Array based stack
2020-03-23 12:42:02 +00:00
class StackArray {
public:
2020-03-23 12:42:02 +00:00
StackArray() : top(EMPTY) {};
void Push(char val);
char Pop();
char Top() const;
void Display() const;
2020-03-23 12:42:02 +00:00
bool isEmpty() const;
private:
2020-03-23 12:42:02 +00:00
enum { EMPTY=-1, MAX=10 };
2020-03-23 12:46:49 +00:00
Node stack[MAX];
2020-03-23 12:42:02 +00:00
int top;
};
#endif