SHARE
TWEET

Jakub Błaszczyk K30 Projekt3

a guest Jun 20th, 2019 56 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.   const int NIter = 10;
  3.             Console.WriteLine("n\tt[s]");
  4.             for (int i = 50000; i <= 200000; i += 8000)
  5.             {
  6.                 int[] tablica = new int[i];
  7.                 Random(tablica);
  8.                 double ElapsedSeconds;
  9.                 long ElapsedTime = 0, MinTime = long.MaxValue, MaxTime = long.MinValue, IterationElapsedTime;
  10.                 for (int n = 0; n < (NIter + 1 + 1); ++n)
  11.                 {
  12.                     long StartingTime = Stopwatch.GetTimestamp();
  13.                     CocktailSort(tablica);
  14.                     long EndingTime = Stopwatch.GetTimestamp();
  15.                     IterationElapsedTime = EndingTime - StartingTime;
  16.                     ElapsedTime += IterationElapsedTime;
  17.  
  18.                     if (IterationElapsedTime < MinTime) MinTime = IterationElapsedTime;
  19.                     if (IterationElapsedTime > MaxTime) MaxTime = IterationElapsedTime;
  20.                 }
  21.                 ElapsedTime -= (MinTime + MaxTime);
  22.                 ElapsedSeconds = ElapsedTime * (1.0 / (NIter * Stopwatch.Frequency));
  23.                 Console.WriteLine("{0}\t{1}", i, ElapsedSeconds.ToString("F4"));
  24.  
  25.  
  26.  
  27. private static void Random(int[] tablica)
  28.         {
  29.             Random rnd = new Random(Guid.NewGuid().GetHashCode());
  30.             for (int i = 0; i < tablica.Length; i++)
  31.             {
  32.                 tablica[i] = rnd.Next(int.MaxValue);
  33.             }
  34.  
  35. private static void CocktailSort(int[] t)
  36.         {
  37.             int Left = 1, Right = t.Length - 1, k = t.Length - 1;
  38.             do
  39.             {
  40.                 for (int j = Right; j >= Left; j--)
  41.                     if (t[j - 1] > t[j])
  42.                     {
  43.                         int Buf = t[j - 1]; t[j - 1] = t[j]; t[j] = Buf;
  44.                         k = j;
  45.                     }
  46.                 Left = k + 1;
  47.                 for (int j = Left; j <= Right; j++)
  48.                     if (t[j - 1] > t[j])
  49.                     {
  50.                         int Buf = t[j - 1]; t[j - 1] = t[j]; t[j] = Buf;
  51.                         k = j;
  52.                     }
  53.                 Right = k - 1;
  54.             }
  55.             while (Left <= Right);
  56.  
  57.  
  58.  
  59.   private static void Heapify(int[] t, uint left, uint right)
  60.         {
  61.             uint i = left,
  62.             j = 2 * i + 1;
  63.             int buf = t[i];
  64.             while (j <= right)
  65.             {
  66.                 if (j < right)
  67.                     if (t[j] < t[j + 1]) j++;
  68.                 if (buf >= t[j]) break;
  69.                 t[i] = t[j];
  70.                 i = j;
  71.                 j = 2 * i + 1;
  72.             }
  73.             t[i] = buf;
  74.         }
  75.         private static void HeapSort(int[] t)
  76.         {
  77.             uint left = ((uint)t.Length / 2),
  78.             right = (uint)t.Length - 1;
  79.             while (left > 0)
  80.             {
  81.                 left--;
  82.                 Heapify(t, left, right);
  83.             }
  84.             while (right > 0)
  85.             {
  86.                 int buf = t[left];
  87.                 t[left] = t[right];
  88.                 t[right] = buf;
  89.                 right--;
  90.                 Heapify(t, left, right);
  91.             }
  92.  
  93.         }
  94.     }
  95. }
  96.     private static void InsertionSort(int[] t)
  97.         {
  98.             for (uint i = 1; i < t.Length; i++)
  99.             {
  100.                 uint j = i;
  101.                 int Buf = t[j];
  102.                 while ((j > 0) && (t[j - 1] > Buf))
  103.                 {
  104.                     t[j] = t[j - 1];
  105.                     j--;
  106.                 }
  107.                 t[j] = Buf;
  108. private static void SelectionSort(int[] t)
  109.         {
  110.             uint k;
  111.             for (uint i = 0; i < (t.Length - 1); i++)
  112.             {
  113.                 int Buf = t[i];
  114.                 k = i;
  115.                 for (uint j = i + 1; j < t.Length; j++)
  116.                     if (t[j] < Buf)
  117.                     {
  118.                         k = j;
  119.                         Buf = t[j];
  120.                     }
  121.                 t[k] = t[i];
  122.                 t[i] = Buf;
  123.             }
  124.  
  125.  
  126. private static void Growing(int[] tablica)
  127.         {
  128.             for (int i = 0; i < tablica.Length; i++)
  129.             { tablica[i] = i; }
  130.         }
  131. private static void Descending(int[] tablica)
  132.         {
  133.             int x = tablica.Length;
  134.             for (int i = 0; i < tablica.Length; i++)
  135.             {
  136.                 tablica[i] = x;
  137.                 x--;
  138. private static void Constantly(int[] tablica)
  139.         {
  140.             for (int i = 0; i < tablica.Length; i++)
  141.             { tablica[i] = 10; }
  142.         }
  143.  
  144.     private static void VShaped(int[] tablica)
  145.         {
  146.             int y = tablica.Length;
  147.             int z = 1;
  148.             for (int i = 0; i <= (tablica.Length / 2) - 1; i++)
  149.             {
  150.                 tablica[i] = y;
  151.                 y -= 2;
  152.             }
  153.             for (int i = tablica.Length / 2; i < tablica.Length; i++)
  154.             {
  155.                 tablica[i] = z;
  156.                 z += 2;
  157.             }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top