Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int Feld[100];
- void Quicksort(int links, int rechts);
- int main()
- {
- int i=0, j=0;
- /* Einlesen der Liste */
- do {
- printf("Bitte geben Sie eine Zahl ein oder Null zum Abbruch: ");
- scanf("%i", &Feld[i]);
- if (Feld[i] == 0) break;
- ++i;
- } while (i < 100);
- /* Sortieren der Liste */
- Quicksort(0, i-1);
- /* Ausgeben der sortierten Liste */
- for (j=0; j<i-1; ++j) {
- printf("%i ", Feld[j]);
- }
- printf("%i\n", Feld[i-1]);
- return 0;
- }
- void Quicksort(int links, int rechts)
- {
- int i, j, x, tmp;
- i = links; j = rechts;
- x = Feld[(links + rechts) / 2];
- do
- {
- while (Feld[i] < x)
- i++;
- while (x < Feld[j])
- j--;
- if (i <= j)
- {
- tmp = Feld[i];
- Feld[i] = Feld[j];
- Feld[j] = tmp;
- i++;
- j--;
- }
- }
- while (i < j);
- if (links < j)
- Quicksort(links, j);
- if (i < rechts)
- Quicksort(i, rechts);
- }
Add Comment
Please, Sign In to add comment