Advertisement
Guest User

methods

a guest
Jun 27th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.48 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. using System.Diagnostics;
  7.  
  8. namespace testspeed {
  9.     class Program {
  10.         static int mAxInt = int.MaxValue / 1000;
  11.  
  12.         static void Main(string[] args) {
  13.             int[] speedArray = new int[mAxInt];
  14.  
  15.             for (int i = 0; i < mAxInt; i++)
  16.                 speedArray[i] = i;
  17.  
  18.             int[] arrSpeed2 = new int[mAxInt];
  19.             Array.Copy(speedArray, arrSpeed2, mAxInt);
  20.             int[] arrSpeed3 = new int[mAxInt];
  21.             Array.Copy(speedArray, arrSpeed3, mAxInt);
  22.  
  23.             List<int> speedList = speedArray.ToList();
  24.  
  25.             Stopwatch s = new Stopwatch();
  26.  
  27.             s.Start();
  28.             for(int i = 0; i < 10; i++) {
  29.                 moveElement(ref speedArray, 500000);
  30.             }
  31.             s.Stop();
  32.             Console.WriteLine("Speed for moveElement: " + s.ElapsedMilliseconds + ", ticks: " + s.ElapsedTicks);
  33.            
  34.             s.Reset();
  35.             s.Start();
  36.             for(int i = 0; i < 10; i++) {
  37.                 ShiftRightAt<int>(arrSpeed2, 500000);
  38.             }
  39.             s.Stop();
  40.             Console.WriteLine("Speed for ShiftRightAt: " + s.ElapsedMilliseconds + ", ticks: " + s.ElapsedTicks);
  41.  
  42.             s.Reset();
  43.             s.Start();
  44.             for (int i = 0; i < 10; i++) {
  45.                 shiftthing(ref speedList, 500000);
  46.             }
  47.             s.Stop();
  48.             Console.WriteLine("Speed for shiftlist: " + s.ElapsedMilliseconds + ", ticks: " + s.ElapsedTicks);
  49.  
  50.             s.Reset();
  51.             s.Start();
  52.             for (int i = 0; i < 10; i++) {
  53.                 arrayCopy(500000, ref arrSpeed3);
  54.             }
  55.             s.Stop();
  56.             Console.WriteLine("Speed for arrayCopy: " + s.ElapsedMilliseconds + ", ticks: " + s.ElapsedTicks);
  57.  
  58.             Console.ReadLine();
  59.         }
  60.  
  61.         public static void moveElement(ref int[] array, int index) {
  62.             int[] save = new int[] { array[index] };
  63.             var rest = array.Take(index).Concat(array.Skip(index + 1));
  64.             array = save.Concat(rest).ToArray();
  65.         }
  66.  
  67.         public static void ShiftRightAt<T>(T[] array, int index) {
  68.             if (index < 0 || index >= array.Length) return; // throw exception
  69.  
  70.             var element = array[index]; // take out the element
  71.  
  72.             for (int i = index; i > 0; i--) {
  73.                 array[i] = array[i - 1];
  74.             }
  75.  
  76.             array[0] = element;
  77.         }
  78.  
  79.         public static void shiftthing(ref List<int> list, int index) {
  80.             var mem = list[index];
  81.             list.Remove(index);
  82.             list.Insert(0, mem);
  83.         }
  84.  
  85.         public static void arrayCopy(int elementAt, ref int[] array) {
  86.             int[] arr1 = new int[array.Length];
  87.             arr1[0] = array[elementAt];
  88.             Array.Copy(array, 0, arr1, 1, elementAt);
  89.             Array.Copy(array, elementAt + 1, arr1, elementAt + 1, array.Length - elementAt - 1);
  90.         }
  91.     }
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement