Advertisement
Lio_is_SAD

paletta.c

Dec 4th, 2015
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.82 KB | None | 0 0
  1. #include<stdio.h>
  2. long long paletta_sort(int N,int vetval[]){
  3.     int i,flag=1;
  4.     long long cont=0;
  5.     int temp,vetold[N];
  6.     for(i=0;i<N;i++){
  7.         vetold[i]=i;
  8.     }
  9.     int tempold;
  10.     while(flag){
  11.         flag=0;
  12.         for(i=0;i<N-1;i++){
  13.             if(vetval[i]>vetval[i+1]){
  14.                 tempold=vetold[i];
  15.                 temp=vetval[i];
  16.                 vetold[i]=vetold[i+1];
  17.                 vetval[i]=vetval[i+1];
  18.                 vetold[i+1]=tempold;
  19.                 vetval[i+1]=temp;
  20.                 flag=1;
  21.             }
  22.         }
  23.     }
  24.     int j=1;
  25.     i=N-1;flag=1;
  26.     while(i>=0&&cont!=-1){
  27.         if(vetold[i]!=i){
  28.             j=i;
  29.             while(vetold[j]!=i&&cont!=-1){
  30.                 j-=2;
  31.                 if(j<0){
  32.                     return -1;
  33.                 }
  34.             }
  35.             while(j<i){
  36.                 temp=vetval[j];
  37.                 tempold=vetold[j];
  38.                 vetval[j]=vetval[j+2];
  39.                 vetold[j]=vetold[j+2];
  40.                 vetval[j+2]=temp;
  41.                 vetold[j+2]=tempold;
  42.                 cont++;
  43.                 j+=2;
  44.             }
  45.         }
  46.         i--;
  47.     }
  48.     return cont;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement