O'ZBЕKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
TOSHKЕNT AXBOROT TЕXNOLOGIYALARI UNIVЕRSITЕTI
“Algoritmlarni loyihalash” fanidan
LABORATORIYA ISHI
Mavzu: Murakkab malumotlar tuzilmalari: Ustuvor navbatlar
Bajardi:005-L2 guruh talabasi
Odilov Begzodbek
Tekshirdi:Ismailov I
Toshkent_2019
1 – topshiriq.
Berilgan variant bo’yicha C++ (Python, Java) tilida har uchala saralash metodini bajaring va jadval shaklida solishtirib analiz qiling.
Ro’yhat bo’yicha variant nomeri
|
Massivni to’ldirish
|
Saralash metodi
|
Har bir metod uchun massivdagi elementlarning soni
|
16,17,18
|
Tasodifiy elementlar bilan to’ldirilgan massiv
|
Sheyker
Tezkor
Surish
|
450
|
1800
|
5500
|
2 – topshiriq
C++ (Python, Java) tilida quyida keltirilgan amallarni bajargan holda ustuvor navbat tashkil qiling:
Berilgan N ta elementdan iborat ustuvor navbat hosil qiling;
Yangi element qo’shing;
Eng katta elementni yechib oling;
Berilgan qandaydir elementning prioritetini o’zgartiring;
Berilgan qandaydir elementni yechib oling;
Ikkita ustuvor navbatni birlashtiring.
Dastur kodi:
Surish saralash metodi
#include
template< class T >
void surish(T* arr, int size)
{
T tmp;
for(int i = 0; i < size - 1; ++i) // i- o'tish nomeri
{
for(int j = 0; j < size - 1; ++j) // ichki o'tish sikli
{
if (arr[j + 1] < arr[j])
{
tmp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = tmp;
}
}
}
}
using namespace std;
int main(){
ios::sync_with_stdio(false); // tezroq chop etish uchun oqimlar sinxronizatsiyasini o'chirish
int a[5500];
srand(time(NULL)); // tasodiflarni yangilash
cout<<"Massiv:\n ";
for(int i=0;i<5500;i++)
{
a[i]=rand()%5500; // tasodifiy qiymat
cout<
}
cout<<"\n\n#############Surish orqali saralandi###################### \n";
surish(a,5500);
for(int i=0;i<5500;i++)
{
cout<
}
return 0;
}

Do'stlaringiz bilan baham: |