Guest User

Untitled

a guest
May 25th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3.  
  4. int Feld[100];
  5. void Quicksort(int links, int rechts);
  6.  
  7.  
  8. int main()
  9. {
  10. int i=0, j=0;
  11.  
  12. /* Einlesen der Liste */
  13. do {
  14.  
  15. printf("Bitte geben Sie eine Zahl ein oder Null zum Abbruch: ");
  16. scanf("%i", &Feld[i]);
  17.  
  18. if (Feld[i] == 0) break;
  19.  
  20. ++i;
  21.  
  22. } while (i < 100);
  23.  
  24. /* Sortieren der Liste */
  25. Quicksort(0, i-1);
  26.  
  27. /* Ausgeben der sortierten Liste */
  28. for (j=0; j<i-1; ++j) {
  29. printf("%i ", Feld[j]);
  30. }
  31. printf("%i\n", Feld[i-1]);
  32.  
  33. return 0;
  34. }
  35.  
  36. void Quicksort(int links, int rechts)
  37. {
  38. int i, j, x, tmp;
  39.  
  40. i = links; j = rechts;
  41. x = Feld[(links + rechts) / 2];
  42.  
  43. do
  44. {
  45. while (Feld[i] < x)
  46. i++;
  47. while (x < Feld[j])
  48. j--;
  49.  
  50. if (i <= j)
  51. {
  52. tmp = Feld[i];
  53. Feld[i] = Feld[j];
  54. Feld[j] = tmp;
  55. i++;
  56. j--;
  57. }
  58. }
  59. while (i < j);
  60.  
  61. if (links < j)
  62. Quicksort(links, j);
  63.  
  64. if (i < rechts)
  65. Quicksort(i, rechts);
  66. }
Add Comment
Please, Sign In to add comment