Advertisement
icatalin

Tema ASD lab 1

Oct 21st, 2018
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.64 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void swap(int *a, int *b)
  6. {
  7.     int aux = *a;
  8.     *a = *b;
  9.     *b= aux;
  10. }
  11.  
  12. void bubbleSort(int v[], int n) // parcurge vectorul si de fiecare data interschimba elementele vecine
  13. {
  14.     int i,j;
  15.  
  16.     for (i = 1; i < n; i++)
  17.         for (j = n; j >= i; j--)
  18.             if (v[j] < v[j-1])
  19.                 swap(&v[j] , &v[j-1]);
  20. }
  21.  
  22. void insertionSort(int v[], int n)
  23. {
  24.     int i,j;
  25.  
  26.     for (i = 2; i <= n; i++)
  27.     {
  28.         j = i;
  29.  
  30.         while (j > 1 && v[j] < v[j-1])
  31.         {
  32.             swap(&v[j] , &v[j-1]);
  33.             j--;
  34.         }
  35.     }
  36. }
  37.  
  38. void selectionSort(int v[], int n) // gaseste minimul de fiecare data si il pune la inceptul listei
  39. {
  40.     int i,j;
  41.  
  42.     for (i = 1; i<=n; i++)
  43.     {
  44.         int min = i;
  45.  
  46.         for (j = i + 1; j <= n; j++)
  47.             if (v[min] > v[j])
  48.                 min=j;
  49.  
  50.         swap(&v[i] , &v[min]);
  51.  
  52.     }
  53. }
  54.  
  55. int binarySearch(int v[], int s, int d, int x) // vector sortat crescator
  56. {
  57.     if (d >= 1)
  58.     {
  59.         int mij = s + (d - 1)/2;
  60.  
  61.         if (v[mij] == x)
  62.             return mij;
  63.  
  64.         if (v[mij] > x)
  65.             return binarySearch(v, s, mij-1, x);
  66.  
  67.         return binarySearch(v,mij+1, d, x);
  68.     }
  69.  
  70.     return -1; // inseamna ca nu s-a gasit elementul
  71. }
  72.  
  73. int main()
  74. {
  75.     int v[100],n,i;
  76.  
  77.     cout<<"Dimensiunea vectorului...\n";
  78.     cin>>n;
  79.     cout<<"Elementele vectorului...\n\n";
  80.     for (i=1; i<=n; i++)
  81.         cin>>v[i];
  82.  
  83.     //loc de testat algoritmi
  84.  
  85.     cout<<"\nVectorul sortat este... \n";
  86.     for (i=1; i<=n; i++)
  87.         cout<<v[i]<<" ";
  88.  
  89.     return 0;
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement