ํจ์คํธ์บ ํผ์ค ์ฑ๋ฆฐ์ง 20์ผ์ฐจ
๊ฐ์ ๋ ์ง: 11/20/2021
์์ฒญ ๊ฐ์: ์๊ทผํ ์ด๋ ค์ด ์๋ฃ๊ตฌ์กฐ : ๋งํฌ๋ ๋ฆฌ์คํธ(3)
์ค๋ ๊ฐ์๋ ์ฌ์ ํ ๋งํฌ๋ ๋ฆฌ์คํธ์ด๋ค. ๋งํฌ๋ ๋ฆฌ์คํธ ๊ฐ์๊ฐ ํ๋ ๋ ๋จ์๋๋ฐ ์ด๋ฒ ์ฃผ๋ ๋งํฌ๋ ๋ฆฌ์คํธ๋ง ํ ๊ธฐ๋ถ์ด๋ค ใ ใ ์ค๋ ๋๊ฐ ๊ฐ์๋ ๋๋ธ๋ฆฌ ๋งํฌ๋ ๋ฆฌ์คํธ์ ๊ด๋ จ๋ ๋ด์ฉ์ด๋ผ ์ด์ ๋ฏธ๋ฆฌ ๋ค ์ ๋ฆฌํด๋์๊ธฐ ๋๋ฌธ์ ์ค๋์ ์ํ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๋ํด ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํ๋ค.
์ํ ๋งํฌ๋๋ฆฌ์คํธ
๊ธฐ๋ณธ ๊ตฌ์กฐ
public class CicularLinkedList{
Node head; // head of list
class Node {
int data;
Node next;
Node(int d) { data = d; } //next๋ null๋ก ์ด๊ธฐํ๋๋ค
}
}
๋น์ด์๋ ๋ฆฌ์คํธ์ ๋ ธ๋ ์ถ๊ฐ
static Node addToEmpty(Node last, int data)
{
if (last != null) //last ๊ฐ null -> circular linked list๋ null์ด ์๊ธฐ๋๋ฌธ์ ๋น์๋จ ์๋ฆฌ๋ค
return last;
// Creating a node dynamically
Node temp =
(Node*)malloc(sizeof(Node));
temp.data = data;
last = temp;
temp.next = last; ///๋ฆฌ์คํธ๊ฐ ๋น์ด์์ด์ ์ถ๊ฐ ํ ๋
ธ๋๊ฐ ํ๋๋ฟ์ด๋ค-> ํฌ์ธํฐ๊ฐ ๋ณธ์ธ์๊ฒ ํฅํ๋๋ก ์ค์
return last;
}
๋งจ ์ ๋ ธ๋ ์ถ๊ฐ
static Node addBegin(Node last, int data)
{ //๋น์ด๋ค๋ฉด, ์์ ์์ฑํ <๋น ๋
ธ๋์ ๋
ธ๋์ถ๊ฐ>์๊ฒ ๋๊ฒจ์ค๋ค
/*๋๊ฒจ์ฃผ๋์ด์ : circularlist๋ ํฌ์ธํฐ๊ฐ null๊ฐ์ ๊ฐ์ง์ง ์๊ธฐ ๋๋ฌธ์
*๋น์ด์๋ค๋ฉด ์์ ์๊ฒ ํฌ์ธํฐ๋ฅผ ํฅํ๊ฒ ํด์ค์ผํ๋ค */
if (last == null)
return addToEmpty(last, data);
Node temp = new Node();
temp.data = data;
temp.next = last.next;
last.next = temp;
return last;
}
code reference: Geeks for Geeks ๋ด์ผ๋ง์ ๋งํฌ๋ ๋ฆฌ์คํธ ๊ฐ์๋ฅผ ๋๋ด๊ณ ๋จ์ ์ํ ๋ฆฌ์คํธ๋ฅผ ์ ๋ฆฌํด๋ณด๋๋ก ํ๊ฒ ๋ค.
ํจ์คํธ์บ ํผ์ค ํ๊ธ ์ฑ๋ฆฐ์ง ๋ฐ๋ก๊ฐ๊ธฐ๐ https://bit.ly/3FVdhDa
์๊ฐ๋ฃ 100% ํ๊ธ ์ฑ๋ฆฐ์ง | ํจ์คํธ์บ ํผ์ค
๋ฑ 5์ผ๊ฐ ์งํ๋๋ ํ๊ธ์ฑ๋ฆฐ์ง๋ก ์๊ฐ๋ฃ 100% ํ๊ธ๋ฐ์ผ์ธ์! ๋ ๋ฆ๊ธฐ์ ์ ์๊ธฐ๊ณ๋ฐ ๋ง์ฐจ ํ์น!
fastcampus.co.kr
๋ณธ ํฌ์คํ ์ ํจ์คํธ์บ ํผ์ค ํ๊ธ ์ฑ๋ฆฐ์ง ์ฐธ์ฌ๋ฅผ ์ํด ์์ฑ๋์์ต๋๋ค.