덱은 앞뒤 모두 추가와 수정이 가능한 컨테이너이다.
컨테이너 기본연산 이외의 덱이 제공하는 연산들은 다음과 같다.
deque c 빈 덱 생성
deque c(c1) c1 덱의 원소를 복사하여 생성
deque c(n) n개의 원소를 생성
deque c(n, elem) n개의 원소를 elem 으로 초기화 하면서 생성
swap(c1, c2) c1과 c2를 교환
c.at(idx) idx의 원소를 얻어온다, 범위를 초과하면 에러발생
c[idx] idx위치의 원소를 얻어온다. 범위 검사는 하지 않는다.
c.front() 첫번째 원소를 얻어온다.
c.back() 마지막 원소를 얻어온다.
c.push_back(elem) 뒤에 elem을 집어 넣는다.
c.push_front(elem) 앞에 elem을 집어넣는다.
c.pop_back() 맨 뒤 원소를 제거
c.pop_front() 맨 앞 원소를 제거
c.resize(n) 덱의 크기를 n으로 변경한다.
c.resize(n, elem) 덱의 크기를 n으로 변경하는데 만약 이전보다 크기가 크다면 남는 부분을 elem 으로 초기화 한다.
<<<<예제코드>>>>
#include <windows.h>
#include <deque>// deque 를 사용하려면
#include <string>
using namespace std;
int main(){
int i;
deque<string> ss;
ss.push_back("May");
ss.push_back("I");
ss.push_back("help");
ss.push_back("you");
ss.push_back("?");
for(i=0;i<ss.size();i++){
cout<<ss[i]<<" ";
}
cout<<endl;
ss.pop_back();
ss.pop_front();
ss.push_front("...");
ss.push_front("-_-");
for(i=0;i<ss.size();i++)cout<<ss[i]<<" ";
cout<<endl;
system("PAUSE");
return 0;
}
코드실행결과
May I help you ?
-_- ... I help you
Press any key to continue . . .
컨테이너 기본연산 이외의 덱이 제공하는 연산들은 다음과 같다.
deque c 빈 덱 생성
deque c(c1) c1 덱의 원소를 복사하여 생성
deque c(n) n개의 원소를 생성
deque c(n, elem) n개의 원소를 elem 으로 초기화 하면서 생성
swap(c1, c2) c1과 c2를 교환
c.at(idx) idx의 원소를 얻어온다, 범위를 초과하면 에러발생
c[idx] idx위치의 원소를 얻어온다. 범위 검사는 하지 않는다.
c.front() 첫번째 원소를 얻어온다.
c.back() 마지막 원소를 얻어온다.
c.push_back(elem) 뒤에 elem을 집어 넣는다.
c.push_front(elem) 앞에 elem을 집어넣는다.
c.pop_back() 맨 뒤 원소를 제거
c.pop_front() 맨 앞 원소를 제거
c.resize(n) 덱의 크기를 n으로 변경한다.
c.resize(n, elem) 덱의 크기를 n으로 변경하는데 만약 이전보다 크기가 크다면 남는 부분을 elem 으로 초기화 한다.
<<<<예제코드>>>>
#include <windows.h>
#include <deque>// deque 를 사용하려면
#include <string>
using namespace std;
int main(){
int i;
deque<string> ss;
ss.push_back("May");
ss.push_back("I");
ss.push_back("help");
ss.push_back("you");
ss.push_back("?");
for(i=0;i<ss.size();i++){
cout<<ss[i]<<" ";
}
cout<<endl;
ss.pop_back();
ss.pop_front();
ss.push_front("...");
ss.push_front("-_-");
for(i=0;i<ss.size();i++)cout<<ss[i]<<" ";
cout<<endl;
system("PAUSE");
return 0;
}
코드실행결과
May I help you ?
-_- ... I help you
Press any key to continue . . .
댓글
댓글 쓰기