Queue(ํ)
Queue
:์ ์ ์ ์ถ(first in first out(FIFO))
ํํ์ ์๋ฃ๊ตฌ์กฐEnqueue
: ๋ฐ์ดํฐ๋ฅผ์ ๋ ฅ
Dequque
: ๋ฐ์ดํฐ๋ฅผ์ถ๋ ฅ
using System.Collections;
namespace QueueEx
{
class Program
{
static void Main(string[] args)
{
Queue q = new Queue();
q.Enqueue(1);
q.Enqueue(100);
q.Enqueue(200);
q.Dequeue();
q.Enqueue(22.5);
int aa = (int)q.Dequeue();
// objํ์
์ผ๋ก ๋ฐํ๋๋ฏ๋ก casting ํ์.
q.Enqueue("๊ฐ๋๋ค");
while(q.Count > 0)
{
Console.WriteLine(q.Dequeue());
}
}
}
}
Output
200
22.5
๊ฐ๋๋ค
- object ํ์ ์ผ๋ก ๋ฐํ๋๋ ๊ฒฝ์ฐ์๋ casting์ด ํ์ํ๋ค.
Stack(์คํ)
์คํ(Stack)
:ํ์ ์ ์ถ(LIFO)
์ ์๋ฃ๊ตฌ์กฐ๋์ค์ ๋ค์ด์จ ๋ฐ์ดํฐ๊ฐ ๋จผ์ ์ถ๋ ฅ๋๋ ์๋ฃ๊ตฌ์กฐ
Push
: ๋ฐ์ดํฐ ์ ๋ ฅ ๋ฉ์๋Pop
: ๋ฐ์ดํฐ ์ถ๋ ฅ ๋ฉ์๋
using System.Collections;
namespace StackEx
{
class Program
{
static void Main(string[] args)
{
Stack stack = new Stack();
stack.Push(100);
stack.Push(11);
stack.Pop();
stack.Push(2.33);
stack.Pop();
stack.Push("๋ฌธ์์ด");
while(stack.Count > 0)
{
Console.WriteLine(stack.Pop());
}
}
}
}
Output
๋ฌธ์์ด
100
Hashtable(ํด์ํ ์ด๋ธ)
Hashtable : ๋ฐ์ดํฐ๋ฅผ ํค-๊ฐ(key-value)์์ผ๋ก ๊ฐ์ง๋ ์๋ฃ๊ตฌ์กฐ
Key๋ฅผ ์ด์ฉํด ๋ฐ์ดํฐ์ ์ ๊ทผํ๊ณ value๋ฅผ ์ป๋๋ค.
Hashing ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ ๋ฐ์ดํฐ ๊ฒ์์ด ์ด๋ฃจ์ด์ง๋ ๋ฐฉ์์ ์๋ฃ๊ตฌ์กฐ์ด๋ค.
- ์ด๋ก์ธํด ๋ฐฐ์ด๊ณผ ๊ฐ์ ์๋๋ฅผ ๋ด๋ฉฐ ํ์์ ์์ด O(1) => ์์์๊ฐ ์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค.
- ํค๋ฅผ ์ด์ฉํด ํ๋ฒ์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋์ด ์๋ ์ปฌ๋ ์ ๋ด์ ์ฃผ์๋ฅผ ๊ณ์ฐํด๋ธ๋ค.
using System.Collections;
- ์ด๋ก์ธํด ๋ฐฐ์ด๊ณผ ๊ฐ์ ์๋๋ฅผ ๋ด๋ฉฐ ํ์์ ์์ด O(1) => ์์์๊ฐ ์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค.
namespace HashtableEx
{
class Program
{
static void Main(string[] args)
{
Hashtable ht = new Hashtable();
ht["Apple"] = "์ฌ๊ณผ";
ht["Banana"] = "๋ฐ๋๋";
ht["Orange"] = "์ค๋ ์ง";
Console.WriteLine(ht["Apple"]);
Console.WriteLine(ht["Banana"]);
Console.WriteLine(ht["Orange"]);
}
}
}
```java
Output
์ฌ๊ณผ
๋ฐ๋๋
์ค๋ ์ง
์ ์ฒด ์ฝ๋
using System.Collections;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("-----ํ-----");
Queue q = new Queue();
q.Enqueue(1);
q.Enqueue(100);
q.Enqueue(200);
q.Dequeue();
q.Enqueue(22.5);
int aa = (int)q.Dequeue();
// objํ์
์ผ๋ก ๋ฐํ๋๋ฏ๋ก casting ํ์.
q.Enqueue("๊ฐ๋๋ค");
while (q.Count > 0)
{
Console.WriteLine(q.Dequeue());
}
Console.WriteLine("\n-----์คํ-----");
Stack stack = new Stack();
stack.Push(100);
stack.Push(11);
stack.Pop();
stack.Push(2.33);
stack.Pop();
stack.Push("๋ฌธ์์ด");
while (stack.Count > 0)
{
Console.WriteLine(stack.Pop());
}
Console.WriteLine("\n-----ํด์ํ
์ด๋ธ-----");
Hashtable ht = new Hashtable();
ht["Apple"] = "์ฌ๊ณผ";
ht["Banana"] = "๋ฐ๋๋";
ht["Orange"] = "์ค๋ ์ง";
Console.WriteLine(ht["Apple"]);
Console.WriteLine(ht["Banana"]);
Console.WriteLine(ht["Orange"]);
}
}
Output
-----ํ-----
200
22.5
๊ฐ๋๋ค
-----์คํ-----
๋ฌธ์์ด
100
-----ํด์ํ
์ด๋ธ-----
์ฌ๊ณผ
๋ฐ๋๋
์ค๋ ์ง
'๐ป Programming Language > C#' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
24. yield ํค์๋ (0) | 2022.04.07 |
---|---|
23. ์ปฌ๋ ์ ์ด๊ธฐํ, ์ธ๋ฑ์ (0) | 2022.04.07 |
21. ArrayList ์ฌ์ฉํ๊ธฐ (0) | 2022.04.07 |
20. ์ถ์ํด๋์ค์์ ์๋ ํ๋กํผํฐ ์ฌ์ฉ๋ฒ (0) | 2022.04.07 |
19. ์ธํฐํ์ด์ค์์ ์๋ ํ๋กํผํฐ ์ฌ์ฉ๋ฒ (0) | 2022.04.07 |