UTM 2 Lab APA ORIGINAL
UTM 2 Lab APA ORIGINAL
RAPORT
Lucrarea de Laborator 2
Analiza si Metode de Sortare
A efectuat:
A verificat :
gr. TI-142
lector superior
Chisinau 2015
Comanda Artur
Bagrin Veronica
Lucrarea de Laborator 2
Sarcina lucrarii:
1. De aplicat in cod algoritmele de sortare : Mergesort ,
Quicksort si Bubblesort.
2. De aflat numarul de iteratii la fiecare sortare.
3. De introdus timpul de executare in cod.
4. De construit tabel dupa timpul de executare si numarul de
iteratii.
5. De construit un graf dupa tabel.
Codul programului:
#define _CRT_SECURE_NO_WARNINGS
#include<conio.h>
#include<iostream>
#include<time.h>
#include <vector>
using namespace std;
int it;
const int n = 100;
int tab[n];
// Quicksort .
int partition(int InitialTablou[], int top, int bottom)
{
int x = InitialTablou[top];
int i = top - 1;
int j = bottom + 1;
int temp;
do
{
do
{
j--;
} while (x < InitialTablou[j]);
do
{
i++;
} while (x > InitialTablou[i]);
if (i < j)
{
temp = InitialTablou[i];
InitialTablou[i] = InitialTablou[j];
InitialTablou[j] = temp;
}
} while (i < j);
it = i + j;
return j;
Chisinau 2015
int main()
{
int initialTablou[1000];
int n = 50;
rand();
int marime = n;
for (int i = 0;i < marime; i++)
tab[i] = rand() % 1000 - 100;
cout << "Tabloul nesortat:" << endl;
AfisareTablou(tab, marime);
clock_t start, end;
start = clock();
quicksort(tab, 0,marime-1);
cout << endl;
cout << endl;
cout << "Tabloul sortat prin metoda quiksort este:" << endl;
AfisareTablou(tab, marime );
Chisinau 2015
return 0;
#define _CRT_SECURE_NO_WARNINGS
#include<conio.h>
#include<iostream>
#include<time.h>
}
void AF(int tab[], int size)
{
int i;
Chisinau 2015
_getch();
return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<conio.h>
#include<iostream>
#include<time.h>
#include <vector>
Chisinau 2015
}
void AfisareTablou(int iarr[], int size)
{
int i;
for (i = 0; i < size; i++)
{
cout << iarr[i] << ' ';
}
cout << "\n\n";
int main()
{
int initialTablou[1000];
int n = 50;
rand();
Chisinau 2015
int marime = n;
for (int i = 0;i < marime; i++)
tab[i] = rand() % 1000 - 100;
cout << "Tabloul nesortat:" << endl;
AfisareTablou(tab, marime);
clock_t start, end;
start = clock();
bubble_sort(tab , marime );
cout << endl;
cout << endl;
cout << "Tabloul sortat prin metoda bubble sort este:" << endl;
AfisareTablou(tab, marime);
_getch();
return 0;
}
Rezultatul afisarii:
Metoda QuickSort :
N=10
Chisinau 2015
N=20
N=30
Chisinau 2015
N=40
N=50
Metoda MergeSort:
N=10
Chisinau 2015
N=20
N=30
Chisinau 2015
N=40
N=50
Metoda BubbleSort
Chisinau 2015
N=10
N=20
N=30
Chisinau 2015
N=40
N=50
Concluzie:
Efectund lucrarea dat am implementat algoritmi de
sortare, quicksort , mergesort si bubblesort, bazai pe
analizind timpul de executie al algoritmilor dai. Aceti
algoritmi au un timp de execuie diferit, de aceea este
important de a alege algoritmul cel mai eficient, adic
algoritmul care are un timp de execuie mic,se observa :
1.Din cele analizate se vede ca quicksort este un algoritm
mai rapid,la quick sort se efectueaza mai multe iteratii.
2.Dar se observa ca dupa analiza si executare cel mai incet
lucreaza sortarea dupa bubblesort.
Chisinau 2015