상세 컨텐츠

본문 제목

Class 사용 Queue 구현

개발생활/DataStructure

by 코보소 2017. 5. 25. 16:36

본문

반응형

Class 사용으로 DataStruct Queue 구현 




Header.h


#include<cstdio>

#include<cstdlib>


#define MAX_INDEX 4


class DataSturct {


private:


protected:

int arrayData[MAX_INDEX];

int front = -1;

int rear = -1;

public:

virtual void push(int value) = 0;

virtual int pop() = 0;

virtual bool isEmpty() = 0;

virtual bool isFull() = 0;


DataSturct() {

printf("\n");

}

};


/*

Queue 는 일반적으로 push, pop isEmpty, isfull 4개의 동작으로 이루어져있다.

push 를 하면 rear 의 값을 증가하고 rear 의 인덱스값에 값을 입력

pop 을 하면 front 값을 증가시키고 값을 반환





*/



class Queue : public DataSturct {

public:


Queue() : DataSturct() {

printf("this is DataSturct\n");

}


virtual void push(int value) override{

if (isFull()) {

printf("Queue is Full !!\n");

}

else {


++rear;

arrayData[rear] = value;

}

}


virtual int pop()override {

if (isEmpty()) {

printf("Queue is Empty!!\n");

}

else {


++front;

int popData = arrayData[front];


return popData;

}

}

virtual bool isEmpty() override {

return rear == front;

}

virtual bool isFull() override{

return rear >= MAX_INDEX;

}



};




Source.cpp


#include"Header.h"


int main() {


Queue data1 = Queue();


data1.push(10);

data1.push(10);


int popData = data1.pop();



popData = data1.pop();

popData = data1.pop();


printf("This is Pop data = %d \n", popData);



fgetc(stdin);

return 0;

}

반응형

'개발생활 > DataStructure' 카테고리의 다른 글

자료구조 기초  (0) 2017.12.06
Binary Search Tree 구현. 자료구조 공부  (0) 2017.06.08
Insertion_sort_ 구현  (0) 2017.05.25
[Data_Struct] Stack 구현  (0) 2017.05.23
Linked_list [data_struct]  (0) 2017.05.22

관련글 더보기

댓글 영역