Unity3d C# toolba 사용해보기

C#에서 말하는 Queue , Stack을 알아보겠습니다.

안녕하세요 메르세데스입니다. 요즘한창 열심히 C# 공부를 하고있는데요..

이번시간에 알아볼 것은 Queue와 Stack입니다. 대학교 컴퓨터공학전공시절에 수도없이 들었던 내용인데요.. 프로그램개발을 하면서.. 써먹어본적이 없었네요;; 근데 실생활에서는 자주 사용이되고있습니다.   이것을 저도 개발하는데 적용해서 하였다면 뭔가 효율적이고 획기적으로 개선할수 있었던것이 분명있었을텐데 역시.. 책을 한번 정독하면서 배운거랑 어께넘어러 편법?위주로 배워온 것이랑 많이 다른것 같습니다.  

1.Queue (대기열..)

프린터기 스풀이라던가.. 버퍼링같은데에.. 순차적으로 작업이 필요한것들에 들어갑니다.

먼저들어온것들을 들어온 순서대로 작업하는것이지요..    데이터를 입력하는곳과 데이터를 꺼내사용하는것이 다릅니다.

입력은 뒤에서 하고.. 출력은 앞에서..합니다.

[ 1 ] [ 2 ] [ 3 ][ 4 ]    <- Endqueue (이 메소드를 통해서 입력]


값을 insert하는 예..


C# Queue insert data ( EndQueue.. method)..








반대로 출력같은경우..
Dequeue()메소드를 이용해서 데이터를 꺼내게되는되요.. 꺼내지고나면.. 사용한 데이터는 삭제가됩니다.


Queue qu = new Queqe();

Console.WriteLine(qu.Dequeue());


이런특징이 있어서 흥미롭네요..  강의시간에는 별로흥미롭지 않았는데말이죠..ㅜㅜ


C# Queue Example

Queue를 사용하려면 using System.Collections;를 추가시켜주신 후 사용이 가능합니다.
컬렉션중에하나죠..  

예제에서처럼.. 큐에 데이터를 넣은후.. while문으로 안에있는 갯수만큼 반복하면서 Dequeue()메소드를 실행하니 값을 콘솔창에 찍어주면서 데이터가 사라져버리는게 확인이 됩니다..

2.Stack
먼저들어온 데이터는 나중에 나가고 나중에 들어온 데이터는 먼져나가는 구조입니다. Queue와는 전혀다르죠..?
동전쌓기 게임을 생각하시면 될것 같습니다.  차곡차곡 동전을 쌓지만.. 아래에 있는 동전을 꺼내려면.. 위에 쌓아두었던 동전을 옮겨야 꺼낼 수 있는것 처럼요..

데이터를 저장할 때는 Push()메소드를 이용하면되고.. 꺼낼때는 Pop()메소드를 이용하는거네요...


C# Stack Example


 역시 마찬가지로 using System.Collections;를 추가시킨후 사용하셔야 합니다.
예제를 돌려보니.. 지금과는 전혀다른 반대의 결과가 나왔네요.. 가장 마지막에 입력한 값이 먼져 출력이되네요..

스택과 큐를 잘 활용하면.. 무언가 효율적인 프로그램이 가능할지도 모르겠습니다.

이상으로 C#에서의 Queue , Stack에 대해 알아봤습니다. 감사합니다.







댓글