Advertisement
gride29

adasdaws

Nov 19th, 2020
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.73 KB | None | 0 0
  1. using System;
  2.  
  3. namespace zadanie2
  4. {
  5.     class Program
  6.     {
  7.         static int[] Szybkie(string[] teksty, int start, int end)
  8.         {
  9.             int[] pomocnicza = new int[teksty.Length];
  10.            
  11.             int i = start;
  12.            
  13.             int j = end;
  14.             string[] kopia = new string[teksty.Length];
  15.             Array.Copy(teksty, kopia,teksty.Length);
  16.            
  17.             if (j - i >= 1)
  18.             {
  19.                 string pivot = teksty[i];
  20.                 while (j > i)
  21.                 {
  22.                     while (teksty[i].CompareTo(pivot) <= 0 && i < end && j > i)
  23.                     {
  24.                         i++;
  25.                     }
  26.                     while (teksty[j].CompareTo(pivot) >= 0 && j > start && j >= i)
  27.                     {
  28.                         j--;
  29.                     }
  30.                     if (j > i)
  31.                         Zamien(teksty, i, j);
  32.                 }
  33.                                  
  34.                 Zamien(teksty, start, j);
  35.                 Szybkie(teksty, start, j - 1);
  36.                 Szybkie(teksty, j + 1, end);
  37.             }
  38.            
  39.             for (int z = 0; z < teksty.Length; z++)
  40.             {
  41.                 pomocnicza[z] = Array.IndexOf(kopia, teksty[z]);
  42.             }
  43.             return pomocnicza;
  44.         }
  45.  
  46.         static void Zamien(string[] a, int i, int j)
  47.         {
  48.             string temp = a[i];
  49.             a[i] = a[j];
  50.             a[j] = temp;
  51.         }
  52.  
  53.  
  54.         static void Main(string[] args)
  55.         {
  56.             string[] tab = { "Adam", "Zenek", "Barbara" };
  57.             Console.WriteLine(String.Join(",", Szybkie(tab, 0, tab.Length - 1)));
  58.             Console.ReadKey();
  59.         }
  60.     }
  61. }
  62.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement