コード例 #1
0
ファイル: SinglyLinkedList.cs プロジェクト: 2fast4u2/linklist
 public void AddtoEnd(T item)
 {
     if (head != null)
     {
         SingleLinkedNode <T> lastNode = getNode(count - 1);
         SingleLinkedNode <T> newNode  = new SingleLinkedNode <T>(item, null);
         lastNode.NextNode = newNode;
         count++;
     }
     else
     {
         head = new SingleLinkedNode <T>(item);
         count++;
     }
 }
コード例 #2
0
ファイル: SinglyLinkedList.cs プロジェクト: 2fast4u2/linklist
 public bool removeFromFront()
 {
     if (count <= 0)
     {
         return(false);
     }
     else
     {
         if (head == null)
         {
             return(false);
         }
         head = head.NextNode;
         count--;
         return(true);
     }
 }
コード例 #3
0
ファイル: SinglyLinkedList.cs プロジェクト: 2fast4u2/linklist
 public bool removeFromEnd()
 {
     if (count <= 0)
     {
         return(false);
     }
     else
     {
         SingleLinkedNode <T> lastNode = getNode(count - 1);
         if (lastNode == null)
         {
             return(false);
         }
         SingleLinkedNode <T> secondLastNode = getNode(count - 1);
         secondLastNode.NextNode = null;
         count--;
         return(true);
     }
 }
コード例 #4
0
ファイル: SinglyLinkedList.cs プロジェクト: 2fast4u2/linklist
 public bool removeAt(int position)
 {
     if (count <= 0 || position > count)
     {
         return(false);
     }
     else
     {
         if (position > 0)
         {
             getNode(position - 1).RemoveAfter();
         }
         else
         {
             head = head.NextNode;
         }
         count--;
         return(true);
     }
 }
コード例 #5
0
ファイル: SinglyLinkedList.cs プロジェクト: 2fast4u2/linklist
 public SinglyLinkedList()
 {
     head = null;
 }
コード例 #6
0
 public SingleLinkedNode(T item, SingleLinkedNode <T> next = null)
 {
     Item     = item;
     NextNode = next;
 }