private void button5_Click(object sender, EventArgs e) { string[] wartosci = Par1_TB.Text.Split(' '); int[] kolekcja = new int[wartosci.Length]; for (int i = 0; i < wartosci.Length; i++) { kolekcja[i] = int.Parse(wartosci[i]); } porownajLiczby por = (int x, int y) => { if (x > y) { return(1); } else if (y > x) { return(-1); } else { return(0); } }; sortuj(kolekcja, por); wynik_LB.Text = null; foreach (int item in kolekcja) { wynik_LB.Text += item.ToString() + " "; } }
private void button9_Click(object sender, EventArgs e) { string[] wyrazenie = Par1_TB.Text.Split(' '); int[] kolekcja = new int[wyrazenie.Length]; for (int i = 0; i < wyrazenie.Length; i++) { kolekcja[i] = int.Parse(wyrazenie[i]); } int[] podzielonaKolekcja = new int[wyrazenie.Length]; for (int i = 0, j = wyrazenie.Length - 1, m = 0; m < wyrazenie.Length; m++) { if (kolekcja[m] % 2 == 0) { podzielonaKolekcja[i] = kolekcja[m]; i++; } else { podzielonaKolekcja[j] = kolekcja[m]; j--; } } porownajLiczby por = (int x, int y) => { if (x > y) { return(-1); } else if (y > x) { return(1); } else { return(0); } }; int indexParzystej = 0; for (int i = 0; i < podzielonaKolekcja.Length; i++) { if (podzielonaKolekcja[i] % 2 == 0) { indexParzystej = i; } } sortuj(podzielonaKolekcja, por, 0, indexParzystej); sortuj(podzielonaKolekcja, por, indexParzystej + 1, podzielonaKolekcja.Length - 1); wynik_LB.Text = null; foreach (int item in podzielonaKolekcja) { wynik_LB.Text += item.ToString() + " "; } }
public void sortuj(int[] tablica, porownajLiczby delegat, int startIndex, int endIndex) { int tmp; do { for (int i = startIndex; i < endIndex; i++) { if (delegat(tablica[i], tablica[i + 1]) < 0) { tmp = tablica[i]; tablica[i] = tablica[i + 1]; tablica[i + 1] = tmp; } } endIndex--; } while (endIndex > startIndex); }
public void sortuj(int[] tablica, porownajLiczby delegat) { int tmp; int n = tablica.Length; do { for (int i = 0; i < n - 1; i++) { if (delegat(tablica[i], tablica[i + 1]) < 0) { tmp = tablica[i]; tablica[i] = tablica[i + 1]; tablica[i + 1] = tmp; } } n--; } while (n > 1); }