Documente Academic
Documente Profesional
Documente Cultură
RAPORT
la lucrarea de laborator nr.5
Tema: „Algoritmi de sortare şi căutare”
Disciplina: „Structuri de Date și Algoritmi”
Varianta 15
Chisinău 2020
Mersul lucrării:
Se va face cunoştinţă cu mediul interactiv de programare în C.
Se vor studia şi utiliza funcţiile de intrare şi ieşire şi a formatelor .
Se vor executa programele .
Sarcină:
15. Fie dat un tablou unidimensional din n caractere. Să se ordoneze elementele tabloului în
ordine descendentă, utilizând metoda şi funcţia predefinită qsort.
Schema bloc
Programul
#include <stdio.h>
#include <stdlib.h>
int quicksort=0,Qsort=0;
void QuickSort(int a[], int left, int right)
{
//Alegem pivotul
int i = left;
int j = right;
int pivot = a[i];
// Aranjam elementele care sunt mai mici ca pivotul la dreapta
// si cele mai mari decat pivot la stanga
if( left < right)
{
while(i < j)
{
while(a[j] <= pivot && i < j)
{
j--;
}
a[i] = a[j];
quicksort++;
while(a[i] >= pivot && i < j)
{
i++;
}
a[j] = a[i];
quicksort++;
}
a[i] = pivot;
quicksort++;
// Sortam elementele mici spre dreapta de pivot
QuickSort(a, left, i - 1);
// Sortam elementele spre stanga de pivot
QuickSort(a, j + 1, right);
}
}
}
void main()
{
int i, count, number[25],num[25];
}
Exemple
Concluzie: Rezolvând sarcina, am elaborat funcțiile necesare pentru ce mi-a permis sa creez un
program clar si eficient. Am creat o functie care indeplineste actiunile functiei predefinite qsort, astfel
am comparat rezultatele obtinute de la ambele metode de sortare si am indeplinit sarcina propusa
intitial,de a ordona descendent un tablou de numere intregi.