๐Ÿ““ STUDY/FASTCAMPUS

ํŒจ์ŠคํŠธ์บ ํผ์Šค ์ฑŒ๋ฆฐ์ง€ 20์ผ์ฐจ

JuneBee 2021. 11. 20. 18:20
728x90
๋ฐ˜์‘ํ˜•

๊ฐ•์˜ ๋‚ ์งœ: 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

๋ณธ ํฌ์ŠคํŒ…์€ ํŒจ์ŠคํŠธ์บ ํผ์Šค ํ™˜๊ธ‰ ์ฑŒ๋ฆฐ์ง€ ์ฐธ์—ฌ๋ฅผ ์œ„ํ•ด ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•