#include <iostream>
using namespace std;
#define QStackLimit 5
int queueStack[QStackLimit]={0};
int top=0;
bool pop(); // 현재 상태를 하나씩 보여줌
bool s_push(int); // 스택
bool q_push(int); // 큐
int main(void)
{
s_push(610); s_push(620); s_push(630);
s_push(650); s_push(660); s_push(640);
pop();pop();pop();pop();pop();pop();
q_push(10); q_push(20); q_push(30); q_push(40);
q_push(50); q_push(60); q_push(70); q_push(80);
pop();pop();pop();pop();pop();pop();
return 0;
}
bool s_push(int val) // 스택 쌓기
{
if(top>=QStackLimit){
cout<<"Stack full"<<endl;
return 1;
}else{
queueStack[top++]=val;
}
return 0;
}
bool q_push(int val) // 큐로 밀기
{
if(top>=QStackLimit){
cout<<"Stack full"<<endl;
return 1;
}else{
// 큐전체를 뒤로 한칸씩 밀어준다
for(int i=top-1; i>-1; i--)
{
queueStack[i+1]=queueStack[i];
}
queueStack[0]=val;
top++;
}
return 0;
}
bool pop() // 현재 상태를 하나씩 보여줌
{
if(top>0){
cout<<queueStack[--top]<<endl;
}else{
cout<<"Stack empty"<<endl;
return 1;
}
return 0;
}
'2_ 바삭바삭 프로그래밍 > C and C++' 카테고리의 다른 글
WinAPI - WinAPI에서 콘솔창 띄우기 (0) | 2011.03.05 |
---|---|
C++ - 스레드를 돌리는 간단한 예제! (0) | 2011.01.26 |
C++ - 템플릿 : 함수 템플릿 정의 하기 (0) | 2011.01.24 |
C, C++ - 파일 입출력 (0) | 2011.01.07 |
C++ - 인터넷 연결확인 방법 (0) | 2010.12.21 |