Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- #include <stdlib.h>
- void quickSort(int arr[], int left, int right,int *c) {
- int i = left, j = right;
- int tmp;
- int pivot = arr[(left + right) / 2];
- /* partition */
- while (i <= j) {
- while (arr[i] < pivot){
- i++;
- *c=*c+1;
- }
- while (arr[j] > pivot){
- j--;
- *c=*c+1;
- }
- if (i <= j) {
- tmp = arr[i];
- arr[i] = arr[j];
- arr[j] = tmp;
- i++;
- j--;
- *c=*c+1;
- }
- };
- /* recursion */
- if (left < j){
- *c=*c+1;
- quickSort(arr, left, j,c);
- }
- if (i < right){
- *c=*c+1;
- quickSort(arr, i, right,c);
- }
- }
- void int_swap(int *a,int *b){
- int tmp = *a;
- *a = *b;
- *b = tmp;
- }
- int main(){
- int n;
- scanf("%d",&n);
- int mas[n];
- mas[0]=1;
- for (int i = 1; i<n; i++)
- {
- int temp = mas[i/2];
- mas[i/2]=i+1;
- mas[i]=temp;
- }
- for (int i=0; i<n; i++) printf("%d ", mas[i]);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement