Advertisement
Gillito

Untitled

Jun 16th, 2015
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.40 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ConsoleApplication44
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             DynamicArray dynArray = new DynamicArray();
  14.  
  15.             dynArray.AddToArray(1);
  16.             dynArray.AddToArray(2);
  17.             dynArray.AddToArray(3);
  18.             dynArray.AddToArray(4);
  19.             dynArray.AddToArray(5);
  20.             dynArray.AddToArray(6);
  21.             dynArray.AddToArray(7);
  22.             dynArray.AddToArray(8);
  23.  
  24.             dynArray.ShowArray();
  25.  
  26.             dynArray.ReverseInRange(1, 6);
  27.             dynArray.ShowArray();
  28.  
  29.             //dynArray.RemoveInterval(2, 4);
  30.             //dynArray.ShowArray();
  31.  
  32.             //dynArray.RemoveBefore(2);
  33.             //dynArray.ShowArray();
  34.  
  35.             //dynArray.RemoveAfter(4);
  36.             //dynArray.ShowArray();
  37.         }
  38.     }
  39.  
  40.     class DynamicArray
  41.     {
  42.         private int count = 0;
  43.  
  44.         private int[] array = new int[1];
  45.  
  46.         public void AddToArray(int element)
  47.         {
  48.             if (count < array.Length)
  49.                 array[count] = element;
  50.             else
  51.             {
  52.                 int[] tempArray = new int[array.Length * 2];
  53.                 for (int i = 0; i < array.Length; i++)
  54.                     tempArray[i] = array[i];
  55.                 tempArray[count] = element;
  56.                 array = tempArray;
  57.             }
  58.             count++;
  59.         }
  60.  
  61.         public void ShowArray()
  62.         {
  63.             for (int i = 0; i < count; i++)
  64.                 Console.WriteLine(array[i]);
  65.             Console.WriteLine("array.Length " + array.Length);
  66.             Console.WriteLine("Count " + count);
  67.         }
  68.  
  69.         public int[] PublicArray()
  70.         {
  71.             int[] arrayCopy = new int[count];
  72.             for (int i = 0; i < count; i++)
  73.             {
  74.                 arrayCopy[i] = array[i];
  75.             }
  76.             return arrayCopy;
  77.         }
  78.  
  79.         public void ClearArray()
  80.         {
  81.             array = new int[1];
  82.             count = 0;
  83.         }
  84.  
  85.         public void Destroyer(int x)
  86.         {
  87.             for (; x + 1 < count; x++)
  88.                 array[x] = array[x + 1];
  89.             count--;
  90.         }
  91.  
  92.         public void Raverse()
  93.         {
  94.             for (int i = 0; i < count / 2; i++)
  95.             {
  96.                 int x = array[i];
  97.                 array[i] = array[count - 1 - i];
  98.                 array[count - 1 - i] = x;
  99.             }
  100.         }
  101.  
  102.         public void RemoveBefore(int x)
  103.         {
  104.             for (int i = 0; i < count - x; i++)
  105.                 array[i] = array[x + i];
  106.             count -= x;
  107.         }
  108.  
  109.         public void RemoveAfter(int x)
  110.         {
  111.             count = x;
  112.         }
  113.  
  114.         public void RemoveInterval(int startIndex, int endIndex)
  115.         {
  116.             int interval = endIndex - startIndex;
  117.  
  118.             for (int i = startIndex; i < count - startIndex; i++)
  119.                 array[i] = array[i + interval];
  120.             count -= startIndex;
  121.         }
  122.  
  123.         public void ReverseInRange(int startIndex, int endIndex)
  124.         {
  125.             for (int i = startIndex; i < endIndex / 2; i++)
  126.             {
  127.                 int x = array[i];
  128.                 array[i] = array[endIndex - i];
  129.                 array[endIndex - i] = x;
  130.             }
  131.         }
  132.     }
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement