using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Szybkie_i_kopcowanie { class Program { public static void Zamien (int[] tablica, int index1, int index2) { int bufor = tablica[index1]; tablica[index1] = tablica[index2]; tablica[index2] = bufor; } public static void Szybkie(int[] liczby) { int n = liczby.Length; SzybkieSort(liczby, 0, n - 1); } public static void SzybkieSort(int[] liczby, int lewy, int prawy) { if (lewy >= prawy) return; int piwot = liczby[prawy]; int granica = lewy - 1; int i; for (i = lewy; i < prawy; i++) { if (liczby[i] < piwot) { granica++; if (granica != i) Zamien(liczby, granica, i); } } granica++; if (granica != prawy) Zamien(liczby, granica, prawy); SzybkieSort(liczby, lewy, granica - 1); SzybkieSort(liczby, granica + 1, prawy); } static void Main(string[] args) { const int rozmiar = 20; int[] liczby = new int[rozmiar]; Random r = new Random(); Console.WriteLine("Liczby przed sortowaniem:"); for (int i = 0; i < rozmiar; i++) { liczby[i] = r.Next(100); Console.Write(liczby[i] + " "); } Console.WriteLine(); Szybkie(liczby); Console.WriteLine("Po sortowaniu:"); for (int i = 0; i < rozmiar; i++) Console.Write(liczby[i] + " "); Console.ReadKey(); } } }