'2018/02'에 해당되는 글 1건

  1. 2018/02/11 글뻥 C# Codetest : LinkedList Sample

I get it every time when I got code test.


using System;

namespace NodeTest
{
    class Program
    {
        static void Main(string[] args)
        {
            const string STR_VALUE = "10524";
            ListNode headNode = null;
            ListNode pointNode = null;
 
             MakeNode(ref headNode, null, STR_VALUE);

             for (int i = 0; i < STR_VALUE.Length; i++)
             {
                 for (int j = i+1; j < STR_VALUE.Length; j++)
                 {
                     if (GetNode(headNode, i).val > GetNode(headNode, j).val)
                     {
                         int x = GetNode(headNode, i).val;
                         GetNode(headNode, i).val = GetNode(headNode, j).val;
                         GetNode(headNode, j).val = x;
                     }
                 }
             }

             pointNode = headNode;
             while(true)
             {
                 Console.WriteLine(pointNode.val.ToString());
                 if (pointNode.next == null) break;
                 pointNode = pointNode.next;
             }
    }

     static void MakeNode(ref ListNode currentnode, ListNode previousnode, string str)
     {
         if (str.Length <= 0) return;
         currentnode = new ListNode(int.Parse(str.Substring(0, 1)));
         if (previousnode != null) {
             previousnode.next = currentnode;
         }
         ListNode dummynode = null;
         MakeNode(ref dummynode, currentnode, str.Substring(1));
     }

     static ListNode GetNode(ListNode headNode, int idx)
     {
         ListNode currentnode = headNode;
         for (int i = 0; i < idx; i++)
         {
             currentnode = currentnode.next;
         }
         return currentnode;
     }
 }

 public class ListNode {
     public int val;
     public ListNode next;
     public ListNode(int x) { val = x; }
 }
}




2018/02/11 20:07 2018/02/11 20:07
TAG ,