저는 C++을 처음 접했고 교수님께서는 Deque 클래스와 Stack 및 Queue와 같은 몇 가지 클래스를 구성하라고했습니다.deque 클래스를 구성하는 방법/멤버 함수를 생성하는 방법은 무엇입니까? C++
다음은 지금까지 내가 해왔 던 것입니다.
제 질문은 : 기능을 만들고/만드는 방법과 작동시키는 법? 예를 들어 여기에 push_front (int) 함수를 얼마나 정확하게 만들 수 있습니까? (실제로 템플릿을 사용할 필요는 없습니다. int를 사용하는 것이 좋습니다.)
다음에해야 할 일을 알아내는 한 가지 예만 있으면 충분합니다.
정말 감사드립니다.
#ifndef CLASSES_H
#define CLASSES_H
#include <vector>
#include <iostream>
class Deque{
public:
void push_front(int); //Insertion from left
void push_back(int x){m_Vector.push_back(x);};//Insertion from right
void pop_front();//Remove from left
void pop_back(){m_Vector.pop_back();};//Remove from right
int getL()const {return m_left;}
int getR()const {return m_right;}
protected:
//Protected Data members
int m_left;
int m_right;
unsigned int size;
unsigned int length;
vector<int> m_Vector;
//structure
};
// Deque member functions definitions
class Queue:private Deque{
public:
void insertL(int a){push_front(a);};
int removeR(){return pop_back();};
};
class Stack:private Deque{
public:
void push(int x){push_front(x);};
int pop(){return pop_front();};
bool full(){return m_left == m_right;}
protected:
using Deque::m_left;
using Deque::m_right;
};
#endif /* CLASSES_H */
는 UPDATE :
난 그냥
void Deque::push_front(int x){
m_Vector.insert(m_Vector.begin(),x);
}
이런 작은 기능을 만들어 그리고 바로 양단 큐 클래스 이후에 넣어. 누군가 내가 제대로하고 있다고 말할 수 있습니까?
2 업데이트 :
나는 pop_front과 같이 수행되었다. 당신은 일반적으로 피해야한다
void Deque::pop_front(){
m_Vector.front() = std::move(m_Vector.back());
m_Vector.pop_back();
}
'벡터'를 기본 데이터 저장소로 사용하도록 지시 받았습니까? –
예 벡터에 관한 기본 정보를 Google에서 배웠습니다. –