Advertisement
Guest User

Untitled

a guest
Mar 19th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.15 KB | None | 0 0
  1. using System;
  2.  
  3. namespace zad1
  4. {
  5.     public class AuxClass<T>
  6.     {
  7.         public AuxClass<T> prev;
  8.         public AuxClass<T> next;
  9.         public T val;
  10.  
  11.         public AuxClass(T a)
  12.         {
  13.             prev = null;
  14.             next = null;
  15.             val = a;
  16.         }
  17.     }
  18.  
  19.     public class Lista<T>
  20.     {
  21.         protected AuxClass<T> first;
  22.         protected AuxClass<T> last;
  23.         protected int size;
  24.         public Lista()
  25.         {
  26.             first = null;
  27.             last = null;
  28.             size = 0;
  29.         }
  30.  
  31.         public int Size()
  32.         {
  33.             return size;
  34.         }
  35.  
  36.         public bool IsEmpty()
  37.         {
  38.             if (size == 0) return true;
  39.             return false;
  40.         }
  41.  
  42.         public void AddFirst(T element)
  43.         {
  44.             AuxClass<T> v = new AuxClass<T>(element);
  45.             if (this.IsEmpty())
  46.             {
  47.                 first = v;
  48.                 last = v;
  49.             }
  50.             else
  51.             {
  52.                 first.prev = v;
  53.                 v.next = first;
  54.                 first = v;
  55.             }
  56.             size++;
  57.         }
  58.         public void AddLast(T element)
  59.         {
  60.             AuxClass<T> v = new AuxClass<T>(element);
  61.             if (this.IsEmpty())
  62.             {
  63.                 first = v;
  64.                 last = v;
  65.             }
  66.             else
  67.             {
  68.                 last.next = v;
  69.                 v.prev = last;
  70.                 last = v;
  71.             }
  72.             size++;
  73.         }
  74.  
  75.         public T RemoveFirst()
  76.         {
  77.             if (this.Size() == 1)
  78.             {
  79.                 T element = first.val;
  80.                 first = null;
  81.                 last = null;
  82.                 size = 0;
  83.                 return element;
  84.             }
  85.             else
  86.             {
  87.                 AuxClass<T> v = first;
  88.                 first = first.next;
  89.                 first.prev = null;
  90.                 size -= 1;
  91.                 return v.val;
  92.             }
  93.         }
  94.         public T RemoveLast()
  95.         {
  96.             if (this.Size() == 1)
  97.             {
  98.                 T element = last.val;
  99.                 first = null;
  100.                 last = null;
  101.                 size = 0;
  102.                 return element;
  103.             }
  104.             AuxClass<T> v = last;
  105.             last = last.prev;
  106.             last.next = null;
  107.             size -= 1;
  108.             return v.val;
  109.         }
  110.  
  111.         public class AuxClass<K,V>
  112.         {
  113.             K tab[] a = new tab[50];
  114.         }
  115.  
  116.     class Program
  117.     {
  118.         static void Main()
  119.         {
  120.             Lista<int> lista = new Lista<int>();
  121.  
  122.             lista.AddFirst(3);
  123.             lista.AddLast(4);
  124.             lista.AddFirst(2);
  125.             lista.AddLast(5);
  126.             lista.AddFirst(1);
  127.             lista.AddLast(6);
  128.             Console.WriteLine(lista.RemoveFirst());
  129.             Console.WriteLine(lista.RemoveFirst());
  130.             Console.WriteLine(lista.RemoveFirst());
  131.             Console.WriteLine(lista.RemoveLast());
  132.             Console.WriteLine(lista.RemoveLast());
  133.             Console.WriteLine(lista.RemoveLast());
  134.         }
  135.     }
  136. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement