dsa-practice/libs/dope/linkedlist.hpp

38 lines
746 B
C++

#pragma once
#include<stdlib.h>
#define MAX_DOPE_NODES 255
typedef enum NodeState_E{
UnInitialized,
Initialized
} NodeState;
class DopeNode {
int data;
DopeNode* next;
NodeState state;
public:
DopeNode(int data);
DopeNode();
DopeNode* GetNext(){return next;}
NodeState GetState(){return state;}
int GetData(){return data;}
void SetNext(DopeNode* node){next = node;}
void SetState(NodeState new_state){state = new_state;}
void SetData(int new_data){data = new_data;}
void Reset();
};
class DopeLinkedList {
DopeNode nodes[MAX_DOPE_NODES];
DopeNode* head;
public:
DopeLinkedList();
void AppendData(int init_data);
DopeNode* GetHead(){return head;}
void SetHead(DopeNode* new_head){head = new_head;}
};