Advertisement
Guest User

Untitled

a guest
Oct 1st, 2014
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.21 KB | None | 0 0
  1.  private void ordenar (int izq, int der)
  2.         {
  3.               Random r = new Random();
  4.              
  5.               int i = izq, j = der, y, x = 0;
  6.              
  7.               int p1 = (int)(r.nextInt(der-izq+1)+izq);
  8.               int p2 = (int)(r.nextInt(der-izq+1)+izq);
  9.               int p3 = (int)(r.nextInt(der-izq+1)+izq);
  10.              
  11.               if(v[p1] < v[p2] && v[p1] > v[p3]) x = v[p1];
  12.               else if(v[p1] < v[p3] && v[p1] > v[p2]) x = v[p1];
  13.               else if(v[p1] == v[p2] && v[p1] > v[p3]) x = v[p1];
  14.               else if(v[p1] == v[p2] && v[p1] < v[p3]) x = v[p1];
  15.               else if(v[p1] == v[p3] && v[p1] > v[p2]) x = v[p1];
  16.               else if(v[p1] == v[p3] && v[p1] < v[p2]) x = v[p1];
  17.              
  18.               else if(v[p2] < v[p1] && v[p2] > v[p3]) x = v[p2];
  19.               else if(v[p2] < v[p3] && v[p2] > v[p1]) x = v[p2];
  20.               else if(v[p2] == v[p1] && v[p2] > v[p3]) x = v[p2];
  21.               else if(v[p2] == v[p1] && v[p2] < v[p3]) x = v[p2];
  22.               else if(v[p2] == v[p3] && v[p2] > v[p1]) x = v[p2];
  23.               else if(v[p2] == v[p3] && v[p2] < v[p1]) x = v[p2];
  24.              
  25.               else if(v[p3] < v[p1] && v[p3] > v[p2]) x = v[p3];
  26.               else if(v[p3] < v[p2] && v[p3] > v[p1]) x = v[p3];
  27.               else if(v[p3] == v[p2] && v[p3] > v[p1]) x = v[p3];
  28.               else if(v[p3] == v[p2] && v[p3] < v[p1]) x = v[p3];
  29.               else if(v[p3] == v[p1] && v[p3] > v[p2]) x = v[p3];
  30.               else if(v[p3] == v[p1] && v[p3] < v[p2]) x = v[p3];
  31.              
  32.               else if (v[p1] == v[p2] && v[p1] == v[p3]) x = v[p1];
  33.              
  34.               do
  35.               {
  36.                     while( v[i] < x && i < der ) i++;
  37.                     while( x < v[j] && j > izq ) j--;
  38.                     if( i <= j )
  39.                     {
  40.                           y = v[i];
  41.                           v[i] = v[j];
  42.                           v[j] = y;
  43.                           i++;
  44.                           j--;
  45.                     }
  46.               }
  47.              
  48.               while( i <= j );
  49.               if( izq < j ) ordenar( izq, j );
  50.               if( i < der ) ordenar( i, der );
  51.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement