ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 04/06 단일연결리스트 Add구현 및 인덱서 사용 연습
    C# 2021. 4. 6. 00:41

     

    Program.cs

    namespace Study07
    {
        class Program
        {
            static void Main(string[] args)
            {
                new App();
            }
        }
    }
    

     

    App.cs

    using System;
    using System.Threading;
    
    namespace Study07
    {
        public class App
        {       
            public App()
            {
                SingleLinkedList list = new SingleLinkedList();
                list.Add(new Node("A"));
                list.Add(new Node("B"));
                list.Add(new Node("C"));
                list.Add(new Node("D"));
    
                Console.WriteLine("단일연결리스트 3번째 요소 :" + list[2].data);
                Console.WriteLine("3번째 요소의 데이터 변경 C -> G");
                list[2].data = "G";
                Console.WriteLine("단일연결리스트 3번째 요소 :" + list[2].data);
            }
        }
    
        public class SingleLinkedList
        {
            public Node head;
            public Node this[int i] { 
                get
                {
                    Node tmp = head;
                    for(int x = 0;x < i; x++)
                    {
                        tmp = tmp.next;
                    }
                    return tmp;
                }
                set {
                    Node tmp = head;
                    for (int x = 0; x < i; x++)
                    {
                        tmp = tmp.next;
                    }
                    tmp = value;
    
    
                } }
            public SingleLinkedList()
            {
                
            }
            public void Add(Node node)
            {
                if(head == null)
                {
                    head = node;
                }
                else
                {
                    Node tmp = head;
                    while(tmp.next != null)
                    {
                        tmp = tmp.next;
                    }
                    tmp.next = node;
                }
            }
            public void Print()
            {
                Node tmp = head;
                while(tmp != null)
                {
                    Console.WriteLine(tmp.data);
                    tmp = tmp.next;
                }            
            }
    
        }
        public class Node
        {
            public string data;
            public Node next;
            public Node(string data)
            {
                this.data = data;
            }
        }
    }
    
Designed by Tistory.