Queue์ Stack์ LinkedList์ ์ถ์ํ์ด๋ผ๊ณ ํ ์ ์๋ค.
(์ ์ ์ ์ถ, ํ์ ์ ์ถ ๋ง์ ๊ตฌํํ ๋, ํ์ ์คํ์ด ํจ์ฌ ์ง๊ด์ ์.)
list์ ๊ฒฝ์ฐ์๋ stack์ ๊ตฌํํ๋๋ฐ ์ด๋ ค์์ด ์์ผ๋, queue ๊ตฌํ์๋ ๋ฌธ์ ๊ฐ ์๋ค.
๊ฐ์ฅ ์ ์์๋ฅผ ์ง์ฐ๊ณ ๋๋ฉด ๋ค์ ์์ธ ์์๋ค์ ํ์นธ์ฉ ์์ผ๋ก ๋ฏธ๋ค์ผํ๋(์ด์ฌ์์ผ์ค์ผํ๋) ์์ ์ ์ถ๊ฐํด์ผํ๊ธฐ ๋๋ฌธ!
๊ฒ์์์ Stack์ UI๋ฅผ ๊ตฌํํ ๋ ์์ฉ๊ฐ๋ฅํ๋ค.
๊ฐ์ฅ ๋ง์ง๋ง์ ๋ฌ UI ์ฐฝ๋ถํฐ ์ฌ๋ผ์ง๊ฒ ๋ง๋ค ์ ์๊ธฐ ๋๋ฌธ!
queue ๊ฐ์ ๊ฒฝ์ฐ๋ ๋คํธ์ํฌ ์ ์ฌ๋ฌ๋ช ์ ์ ์ ๊ฐ ํ ๋ชฌ์คํฐ๋ฅผ ํ๊ฒํ๋ค๊ณ ํ์ ๋
๊ฐ์ฅ ๋จผ์ ๋๋ฆฐ ์ ์ ์ ํ๊ฒฉ๋ถํฐ ๋ค์ด๊ฐ ์ ์๋๋ก
ํ๊ฒฉ๊ฐ์ ์ค์ธ์ฐ๊ธฐ ์ํฌ ๋ ์ฌ์ฉํ ์ ์์ ๊ฒ์ด๋ค.
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Stack<int> stack = new Stack<int>();
stack.Push(101);
stack.Push(102);
stack.Push(103);
stack.Push(104);
stack.Push(105);
if (stack.Count > 0)
{
int data1 = stack.Pop();
}
int data2 = stack.Peek();
Queue<int> queue = new Queue<int>();
queue.Enqueue(101);
queue.Enqueue(102);
queue.Enqueue(103);
queue.Enqueue(104);
int data3 = queue.Dequeue();
int data4 = queue.Peek();
LinkedList<int> list = new LinkedList<int>();
list.AddLast(101);
list.AddLast(102);
list.AddLast(103);
//FIFO
int value1 = list.First.Value; // ๋ง์น queue์์ Peek()ํ๋ฏ
list.RemoveFirst();//๋ง์น queue์์ ์ ์
์ ์ถํ๋ฏ
//LIFO
int value2 = list.Last.Value; // ๋ง์น stack์์ Peek()ํ๋ฏ
list.RemoveLast();//๋ง์น stack์์ ํ์
์ ์ถํ๋ฏ
}
}
}
Queue : C#๊ณผ C++ ๋น๊ต
| ๋น๊ณ | C# | C++ |
| ์ฝ์ | Enqueue | push |
| ์ญ์ | Dequeue | pop |
| ์ ์ผ ์ ์์ ํ์ธ | Peek() | front() |
'์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ > ์๋ฃ๊ตฌ์กฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [C# ์๋ฃ๊ตฌ์กฐ] ๋์ ๋ฐฐ์ด(List: C++vector์ ์ ์ฌํจ) ๊ตฌํ (0) | 2022.02.04 |
|---|---|
| [C# ์๋ฃ๊ตฌ์กฐ] ์ ํ ์๋ฃ ๊ตฌ์กฐ ( ๋ฐฐ์ด vs ๋์ ๋ฐฐ์ด vs ์ฐ๊ฒฐ ๋ฆฌ์คํธ) (0) | 2022.02.03 |
| [์ํ๊ณผ ๋ฐ๋ณต] ํฉํ ๋ฆฌ์ผ ๊ณ์ฐ ํ๋ก๊ทธ๋จ (0) | 2022.01.31 |
| [C++]์ํํ ๊ตฌํ, ์ค์๊ธฐ ์์ (0) | 2021.12.15 |