Advertisement
Guest User

Untitled

a guest
Dec 17th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1.  
  2. #include <stdio.h>
  3. #include <math.h>
  4. #include <stdlib.h>
  5.  
  6. void quickSort(int arr[], int left, int right,int *c) {
  7.  
  8.  
  9. int i = left, j = right;
  10. int tmp;
  11. int pivot = arr[(left + right) / 2];
  12.  
  13. /* partition */
  14. while (i <= j) {
  15. while (arr[i] < pivot){
  16. i++;
  17. *c=*c+1;
  18. }
  19. while (arr[j] > pivot){
  20. j--;
  21. *c=*c+1;
  22. }
  23. if (i <= j) {
  24. tmp = arr[i];
  25. arr[i] = arr[j];
  26. arr[j] = tmp;
  27. i++;
  28. j--;
  29. *c=*c+1;
  30. }
  31. };
  32.  
  33. /* recursion */
  34. if (left < j){
  35. *c=*c+1;
  36. quickSort(arr, left, j,c);
  37.  
  38. }
  39. if (i < right){
  40. *c=*c+1;
  41. quickSort(arr, i, right,c);
  42.  
  43. }
  44. }
  45.  
  46. void int_swap(int *a,int *b){
  47.  
  48. int tmp = *a;
  49. *a = *b;
  50. *b = tmp;
  51.  
  52. }
  53.  
  54.  
  55. int main(){
  56.  
  57. int n;
  58. scanf("%d",&n);
  59. int mas[n];
  60. mas[0]=1;
  61. for (int i = 1; i<n; i++)
  62. {
  63. int temp = mas[i/2];
  64. mas[i/2]=i+1;
  65. mas[i]=temp;
  66. }
  67. for (int i=0; i<n; i++) printf("%d ", mas[i]);
  68.  
  69.  
  70.  
  71.  
  72.  
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement