Documente Academic
Documente Profesional
Documente Cultură
DISCIPLINA
SHELL SORT
Chișinău, 2020
Sarcini rezolvate
1. Aplicând bucla while (în loc de for) în algoritmul ShellSort sortați elementele
masivului atât în ordine ascendentă, cât și în ordine descendentă.
Vectorul inițial:
78, 56, 97, 22, 46, 77, 54, 14, 44, 50
Rezolvare:
#include <iostream>
#include <conio.h>
// Programul principal
int main(){
Vectorul ce trebuie de sortat:
// Vectorul de elemente ce trebuie de ordonat
78 56 97 22 46 77 54 14 44 50
int arr[] = {78,56,97,22,46,77,54,14,44,50}, i;
// Calculăm dimensiunea vectorului (masivului)
Vectorul sortat crescator:
int N = sizeof(arr)/sizeof(arr[0]);
14 22 44 de
cout << "Vectorul ce trebuie 46 50sortat:
54 56 77 78 97
\n\t";
showArray(arr, N);
shellSortAscendent(arr,Vectorul
N); sortat descrescator:
cout << "\nVectorul sortat
97 78 crescator:
77 56 54 50 46 44\n\t";
22 14
showArray(arr, N);
shellSortDescendent(arr, N);
cout << "\nVectorul sortat descrescator: \n\t";
showArray(arr, N);
getch(); //pause
return 0;
}
2. Aplicând bucla while (în loc de for) în algoritmul ShellSort sortați elementele
masivului atât în ordine ascendentă, cât și în ordine descendentă.
Vectorul inițial:
66, 98, 78, 92, 31, 89, 91, 28, 38, 55
Rezolvare:
#include <iostream>
#include <conio.h>
// Programul principal
int main(){
// Vectorul de elemente ce trebuie de ordonat
int arr[] = {66,98,78,92,31,89,91,28,38,55}, i;
// Calculăm dimensiunea vectorului (masivului)
int N = sizeof(arr)/sizeof(arr[0]);
cout << "Vectorul ce trebuie de sortat: \n\t";
showArray(arr, N);
shellSortAscendent(arr, N);
cout << "\nVectorul sortat crescator: \n\t";
showArray(arr, N);
shellSortDescendent(arr, N);
cout << "\nVectorul sortat descrescator: \n\t";
showArray(arr, N);
getch(); //pause
return 0;
}