Sunteți pe pagina 1din 9

VECTORI

Metode de sortare
Proiect realizat de
Vicentiu Mihaela Raluca
Clasa a X-a B
Colegiul National “Mihai Eminescu”
Metoda Bulelor  (bubblesort)
Program C++ :
Descriere : • #include <iostream.h>

• Parcurge vectorul de mai using namespace std;


int main()
multe ori pana cand il { int v[100], i, n, ok,aux;
cout<<"n= ";cin>>n;
sorteaza. for(i=1;i<=n;i++)
• Compara fiecare element cu {    cout<<"v["<<i<<"]=“;   cin>>v[i]; }
do
succesorul sau si se {     ok=1;  
interchimba intre ele daca nu for(i=1;i<=n;i++)  
     if(v[i]>v[i+1])  
sunt in ordine.
• Vectorul este sortat cand la o {          aux=v[i];            

parcurgere completa nu se v[i]=v[i+1];


v[i+1]=aux;     }
efectueaza nicio } while(ok==0);
interchimbare . cout<<"Vectorul sortat este: ";
for(i=1;i<=n;i++)
cout<<v[i]<<" ";
return 0; }
Metoda prin insertie
PROGRAM C++ :
 #include <iostream.h>
DESCRIERE : using namespace std;
int main()
{ int v[100],n,i,j,aux;
 Aceasta metoda aseaza cout<<"n= ";cin>>n;
elementul citit pe cout<<"v[1]= ";cin>>v[1];
for(i=2;i<=n;i++)
pozitia lui finala in { cout<<"v["<<i<<"]= "; cin>>v[i];
vector, comparandu-l cu j=i;
while(v[j]<v[j-1] && j>1)
valorile introduse deja { aux=v[j];
si interschimbandul v[j]=v[j-1];
v[j-1]=aux; j--;
pana ajunge in pozitia }
corecta. }
cout<<"Vectorul sortat este: ";
for(i=1;i<=n;i++)
cout<<v[i]<<" ";
return 0;
}
Metoda directa
Program C++ :
Descriere :  #include <iostream>
 Parcurge vectorul o singura using namespace std;
int main ()
data. { int v[50],n,i,j,aux;
 Se verifica comparand cin>>n;
for(i=0;i<=n;i++)
elementul de pe pozitia for(j=i+1;j<=n;j++)
curenta cu toate elementele if(v[i]>v[j] && i%2==0 && j%2==0)
{ aux=v[i];
de dupa aceasta pozitie. v[i]=v[j];
 Unde elementele nu sunt in v[j]=aux;
}
ordine se interchimba. cout<< “\n vectorul sortat:”;
for(i=0;i<=n;i++)
cout<<v[i]<<“ “;
return 0;
}
DESCRIERE : PROGRAM C++ :
#include <iostream.h>
Aflam minimul si il ducem pe


using namespace std;

ultima pozitie a vectorului int main()


{ int v[100],i,n,min,k,aux,j;
prin comparare si cout<<"n= ";cin>>n;
for(i=1;i<=n;i++)
interchimbare in caz de { cout<<"v["<<i<<"]= “; cin>>v[i[; }

dezordine. for(i=1;i<=n-1;i++)
{ min=v[i];
k=i;
for(j=i+1;j<=n;j++)
 Procedeul se repeta pentru if(v[j]<min)
{ min=v[j]; k=j; }
fiecare element . aux=v[i];
v[i]=v[k];
v[k]=aux; }
cout<<"Vectorul sortat este: ";
for(i=1;i<=n;i++)
cout<<v[i]<<" ";
return 0; }

METODA DE SORTARE PRIN MINIM


Metoda inserarii Programul C++ :
#include <iostream>

Descriere : using namespace std;


int main ()
Se folosesc 2 vectori: {int I,j,n,k,a[50],b[50];
vectorul sursa: a (nesortat) cout<<“n=“; cin>>n;
for(i=0;i<=n;i++)
si vectorul destinatie : b
{cout<<“a[“<<i<<“]= “;
(sortat). cin>>a[i];}
b[0]=a[0];
for(i=1;i<n;i++)
Elementele vectorului sursa
{j=0;
se copiaza in vectorul while (j<=i-1&& a[i]>b[j]) j++;
destinatie prin inserare in for( k=I;k>j+1;k--) b[k]=b[k-1];
b[j]=a[i];
pozitia corespunzatoare
}
,astfel incat in vectorul for(i=0;i<=n;i++)
destinatie sa fie respectara cout<<b[i]<<“ “;
relatia de ordine. return 0; }
Program C++ : Descriere :
*#include <iostream> * Vectorul se imparte in 2
using namespace std; subvectori : subvectorul sursa:
int main () a[i] si subvectorul destinatie:
{int i,j,n,aux,a[50]; a[0].
cout<<“n=“; cin>>n;
for(i=0;i<n;i++)
* Elementul a[i] sin subvectorul
{ cout<<“a[“<<i+1<<“]= “;
sursa este inserat in
cin>>a[i];}
subvectorul destinatie conform
for(i=0;i<n;i++)
relatiei de ordine , astfel
{aux=a[i];
vectorul destinatie va fi mereu
j=i-1;
un vector ordonat .
while (j>0 && aux<a[j])
{a[j+1]=a[j]; j--;}

*Metoda inserarii
if(aux>a[j]) a[j+1]=aux;
else {a[1]=a[0]; a[0]=aux;}
}
for(i=0;i<=n;i++)
cout<<a[i]<< “ “ ;
return 0; }
directe
Metoda inserarii rapide Program C++ :
• #include <iostream>
using namespace std;
Descriere : int main ()
{int i,j,n,aux,st,dr,mijl,a[50];
• Vectorul se imparte in doi cout<<“n=“; cin>>n;
subvectori : subvectorul sursa si for(i=0;i<n;i++)
subvectorul destinatie (ordonat). { cout<<“a[“<<i+1<<“]=
• Pozitia elementului a[i] va fi gasita “;cin>>a[i];}
for(i=0;i<n;i++)
cu prin algoritmul de cautare
{aux=a[i]; st=0; dr=i-1;
binara.
while (st<=dr)
• Subvectorul destinatie este impartit
{mijl=(st+dr)/2;
in doi subvectori se examineaza
if (aux<a[mijl]) dr=mijl-1;
relatie de ordine dintre mijloc si
else st=mijl+1;}
vectorul a[i] si se stabileste daca
j=i-1;
vectorul se insereaza in prima
while (j>=st) {a[j+1]=a[j]; j=j-
sau a doua jumatate . Operatia de 1;}
divizare a subvectorului continua a[st]=aux;
pana se gaseste pozitia in care }
urmeaza sa fie inseray a[i]. for(i=0;i<‘;i++) cout<<a[i]<< “ “ ;
return 0; }
Thanks for watching !!!

S-ar putea să vă placă și

  • Grile Grafuri Neorientate
    Grile Grafuri Neorientate
    Document11 pagini
    Grile Grafuri Neorientate
    Ion Ionescu
    Încă nu există evaluări
  • Var19 20
    Var19 20
    Document11 pagini
    Var19 20
    Ion Ionescu
    Încă nu există evaluări
  • Sortare Prin Numarare
    Sortare Prin Numarare
    Document3 pagini
    Sortare Prin Numarare
    Ion Ionescu
    Încă nu există evaluări
  • To 1
    To 1
    Document5 pagini
    To 1
    Ion Ionescu
    Încă nu există evaluări
  • STUDIU
    STUDIU
    Document5 pagini
    STUDIU
    Ion Ionescu
    Încă nu există evaluări
  • V23 V24
    V23 V24
    Document10 pagini
    V23 V24
    Ion Ionescu
    Încă nu există evaluări
  • Tema 222
    Tema 222
    Document2 pagini
    Tema 222
    Ion Ionescu
    Încă nu există evaluări
  • Labirint
    Labirint
    Document1 pagină
    Labirint
    Ion Ionescu
    Încă nu există evaluări
  • Tutorial Obs
    Tutorial Obs
    Document15 pagini
    Tutorial Obs
    Ion Ionescu
    Încă nu există evaluări
  • Model Chestionar Concurs Admitere 2021 Converted Min
    Model Chestionar Concurs Admitere 2021 Converted Min
    Document11 pagini
    Model Chestionar Concurs Admitere 2021 Converted Min
    Ion Ionescu
    Încă nu există evaluări
  • Razbunare
    Razbunare
    Document1 pagină
    Razbunare
    Ion Ionescu
    Încă nu există evaluări