Advertisement
Dani_info

Sortari

Mar 26th, 2018
126
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. void BubleSort(int[], int);
  5. void InsertSort(int [], int);
  6. void SelectionSort(int [], int);
  7. int main()
  8. {
  9.     int  n, v[100], ok;
  10.     cout << "Cate elemente are vectorul"; cin >> n;
  11.     for (int i = 0; i < n; i++)
  12.         cin >> v[i];
  13.     SelectionSort(v, n);
  14.     return 0;
  15. }
  16. void BubleSort(int v[], int n)
  17. {
  18.     int i=0, ok;
  19.     do
  20.     {
  21.         ok=0;
  22.         for (int j=0; j<n-i-1; j++)
  23.         {
  24.             if (v[j]>=v[j+1])
  25.             {
  26.                  swap (v[j], v[j+1]);
  27.                  ok=1;
  28.             }
  29.         }        i++;
  30.  
  31.     } while (ok==1 && i<n-1);
  32.  
  33.     for (int i = 0; i < n; i++)
  34.         cout << v[i] << " ";
  35. }
  36. void InsertSort (int v[], int n)
  37. {
  38.     for (int i=1; i<n; i++)
  39.     {
  40.         int k=v[i];
  41.         int j=i-1;
  42.         while (j>=0 && v[j]>=k)
  43.         {
  44.             v[j+1]=v[j];
  45.             j--;
  46.         }
  47.         v[j+1]=k;
  48.     }
  49.      for (int i = 0; i < n; i++)
  50.             cout << v[i] << " ";
  51.  
  52. }
  53. void SelectionSort (int v[], int n)
  54. {
  55.      for (int i = 0; i < n-1; i++)
  56.     {
  57.         int min_idx = i;
  58.         for (int j = i+1; j < n; j++)
  59.           if (v[j] <= v[min_idx])
  60.             {
  61.                 min_idx = j;
  62.                 swap(v[min_idx], v[i]);
  63.             }
  64.     }
  65.     for (int i = 0; i < n; i++)
  66.             cout << v[i] << " ";
  67. }
Advertisement
RAW Paste Data Copied
Advertisement