Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.63 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. class ordenacao{
  7.     public:
  8.         void selectionSort(int v[6]) {
  9.             int min,i,j,aux;
  10.             for(i = 0; i < 5; i++) {
  11.                 min = i;
  12.                 for (j = i+1; j < 6; j++) {
  13.                     if (v[j] < v[min]) {
  14.                         min = j;
  15.                     }
  16.                 }
  17.                 aux = v[i];
  18.                 v[i] = v[min];
  19.                 v[min] = aux;
  20.             }
  21.         }
  22.        
  23.         int divida(int *v, int ini, int fim, int pivot) {
  24.             int i,j,aux;
  25.             i = ini;
  26.             j = fim;
  27.             while (i < j) {
  28.                 while (v[i] < pivot) {
  29.                     i++;
  30.                 }while (v[j] > pivot) {
  31.                     j--;
  32.                 }
  33.                 aux = i;
  34.                 i = j;
  35.                 j = aux;
  36.                 //swap(v,i,j);
  37.                 if (i < j && pivot == v[i] && pivot == v[j]) {
  38.                     i++;
  39.                 }
  40.             }
  41.             return i;
  42.         }
  43.  
  44.         void quickSort(int *v,int ini,int fim) {
  45.             int pv = v[ini], pi;
  46.             if (ini < fim) {
  47.                 pi = divida(v,ini,fim,pv);
  48.                 quickSort(v,ini,pi-1);
  49.                 quickSort(v,pi+1,fim);
  50.             }
  51.         }
  52. };
  53.  
  54. int main()
  55. {
  56.     ordenacao o;
  57.     int v[6];
  58.     v[0] = 22;
  59.     v[1] = 33;
  60.     v[2] = 55;
  61.     v[3] = 44;
  62.     v[4] = 88;
  63.     v[5] = 77;
  64.     for (int i = 0; i < 6; i++){
  65.         cout <<v[i]<<"\t";
  66.     }
  67.     cout << endl;
  68.     o.quickSort(v,0,5);
  69.     o.selectionSort(v);
  70.     return 0;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement