단일 연결 리스트를 이용한 FIFO 구현

  • 20 minutes to read

이 글에서는 여러 프로그래밍 언어를 사용하여 단일 연결 리스트(Singly Linked List)를 이용한 FIFO(First In First Out) 구현 방법을 소개합니다. 단일 연결 리스트는 배열에 비해 데이터의 삽입과 삭제가 용이한 데이터 구조로, 각 노드가 다음 노드를 가리키는 포인터를 포함합니다. 이를 통해 간단한 FIFO 구현을 살펴볼 것이며, 사용자로부터 이름과 전화번호를 입력 받아 리스트에 저장하고, 리스트를 순회하며 입력된 데이터를 출력하는 과정을 다룰 것입니다. 이 글에서는 C, C++, C#, Java, Python, JavaScript, TypeScript, Go, Rust 등 다양한 프로그래밍 언어로 예제를 제공하여, 언어별 차이를 이해하고 해당 언어의 구현 방식을 학습할 수 있습니다.

  1. 단일 연결 리스트를 이용한 FIFO 구현 (C# 버전)

이 코드 예제에서는 C# 프로그래밍 언어를 사용하여 단일 연결 리스트(Singly Linked List)를 이용한 FIFO(First In First Out) 구현 방법을 살펴보겠습니다.

  1. 구조체와 메소드 정의

먼저, 노드를 구성할 클래스인 Node를 정의합니다.

public class Node
{
    public string Name;          // 이름
    public string Phone;         // 전화번호
    public Node NextNode;  // 다음 노드를 가리키는 포인터
}
  1. 메인 함수

메인 함수는 다음과 같이 작성되었습니다.

using System;

class MainClass
{
    public static void Main(string[] args)
    {
        int i;               // 반복용
        Node head = null;   // 첫 번째 노드
        Node current;       // 새롭게 추가되는 현재 노드

        Console.WriteLine("데이터 입력:");

        // 노드 추가
        for (i = 0; i < 3; i++)
        {
            current = new Node();                // 새 노드 생성
            string[] input = Console.ReadLine().Split(' ');
            current.Name = input[0]; // 값 대입
            current.Phone = input[1]; // 값 대입
            current.NextNode = head;           // 새 노드의 포인터에 첫번째 노드 지정
            head = current;                     // 새 노드를 첫번째 노드로 설정
        }

        Console.WriteLine("데이터 출력:");

        // 노드 출력
        current = head;
        while (current != null)
        {
            Console.WriteLine("{0} {1}", current.Name, current.Phone);
            current = current.NextNode;
        }
    }
}

이 예제에서는 사용자로부터 이름과 전화번호를 입력 받아 단일 연결 리스트에 저장하고, 리스트를 순회하며 입력된 데이터를 출력하는 과정을 보여줍니다. 이를 통해 단일 연결 리스트를 이용한 간단한 FIFO 구현 방법을 이해할 수 있습니다.

VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com