'스택'에 해당되는 글 2건

  1. 2010.12.28 C++ - Stack Queue
  2. 2010.05.03 C# 컬렉션기본 스택(Stack), 큐(Queue)
참 속상한 일이 많네요.. 복잡한 일들이 큐와 스택처럼 차곡차곡 정리되고 빠져나갔으면 좋겠어요

#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

}

신고
Creative Commons License
Creative Commons License
Posted by 준환이형님

댓글을 달아 주세요

using System;
using System.Collections;

------------- 스택 ---------------
  public static void Main()
  {
   // 스택 객체 생성
   Stack myStack = new Stack();

   //스택에 값 입력하기
   myStack.Push(100);
   myStack.Push(200);
   myStack.Push(300);
   myStack.Push(400);
   myStack.Push(500);

   Console.WriteLine("마지막 스택크기:{0}",myStack.Count);
   int stackCount = myStack.Count;

   // 스택에서 값을 인출하기;

   for(int i=0;i<stackCount;i++)
    Console.WriteLine(myStack.Pop());

 -------------- 큐 ---------------

  class Class1
 {  
  public static void Main()
  {
   Queue myQueue = new Queue();
   Console.WriteLine("초기 큐의 크기:{0}", myQueue.Count);
   // 큐르ㅡㄹ 가득 채우기

   myQueue.Enqueue(100);
   myQueue.Enqueue(200);
   myQueue.Enqueue(300);
   myQueue.Enqueue(400);
   myQueue.Enqueue(500);

   Console.WriteLine("최종큐의 크기:{0}", myQueue.Count);

   //큐가 가진 크기 만큼 큐를 인출하기
   int queueCount = myQueue.Count;

            for(int i=1; i<queueCount; i++)
    Console.WriteLine("{0} Step:{1}",i,myQueue.Dequeue());
   myQueue.Enqueue(600);
   Console.WriteLine("가장 오래된 요소 인출하기:{0}", myQueue.Peek());
   Console.WriteLine("현재 큐의 크기: {0}",myQueue.Count);               
  }
 }
http://msdn.microsoft.com/ko-kr/library/system.collections.stack_members(v=VS.90).aspx
좋쿠낭 ~*

저작자 표시
신고
Creative Commons License
Creative Commons License
Posted by 준환이형님

댓글을 달아 주세요

티스토리 툴바