fork(1) download
  1. #include <stdio.h>
  2. #define SIZE (50)
  3.  
  4. void q_sort (int a[SIZE], int l, int r);
  5.  
  6. int main(void)
  7. {
  8. int a[SIZE], i;
  9. printf("%d個の整数を入力\n", SIZE);
  10. for (i=1; i<=SIZE; i++){
  11. printf("%d個目の整数を入力\n", i);
  12. scanf("%d", &a[i-1]);
  13. }
  14. q_sort(a, 0, SIZE-1);
  15. printf("昇順に整列した結果\n");
  16. for(i = 0; i < SIZE; i++)
  17. printf("%d ", a[i]);
  18. return 0;
  19. }
  20.  
  21. void q_sort(int a[SIZE], int l, int r)
  22. {
  23. int i, j, p, temp;
  24. i = l;
  25. j = r;
  26. p = a[0];
  27. while(1){
  28. while(a[i] < p){
  29. i++;
  30. if(i >= j)
  31. break;
  32. }
  33. while(p <= a[j]){
  34. j--;
  35. if(i >= j)
  36. break;
  37. }
  38. temp = a[j];
  39. a[j] = a[i];
  40. a[i] = temp;
  41. i++;
  42. j--;
  43. }
  44. if(l < i-1)
  45. q_sort(a, l, i-1);
  46. if(j+1 < r)
  47. q_sort(a, j+1, r);
  48. }
Runtime error #stdin #stdout 0s 2172KB
stdin
23
32
13
42
19
39
87
36
49
18
50
28
41
29
91
33
37
65
19
23
48
57
22
17
39
47
93
57
46
37
7
18
3
99
51
29
41
43
92
57
stdout
Standard output is empty