2-amaliyot ishi durmatov Sherzod Ikromovich


Download 27 Kb.
Sana23.12.2022
Hajmi27 Kb.
#1045494
Bog'liq
2-Amaliyot ishi (1)


2-AMALIYOT ISHI
Durmatov Sherzod Ikromovich
0121-22
Tanlash orqali saralash algoritmi (Selection sort) massivning elementlarini tanlash orqali saralash algoritmidan foydalanib saralang va massivning eng kichik elementini ekranga chiqarish dasturini tuzing.
#include
using namespace std;
int main(){
long n, i, j;
cin >> n;
long a[n];
for (i = 1; i <= n; i++)
cin >> a[i];
for (i = 1; i < n; i++)
for (j = i + 1; j <= n; j++)
{
if (a[i] < a[j])
{
a[0] = a[i];
a[i] = a[j];
a[j] = a[0];
}
}
for (i = 1; i <= n; i++)
cout << a[i] << " ";
return 0;
}
Selection sort g’oyasi juda ham oddiy: har qadamda arrayning saralanmagan qismidagi eng kichik (yoki eng katta) elementni topib saralangan qism oxiriga qo’shib ketish.
Algoritm qadamlari
Yuqorida aytganimizdek arrayda ikkita qism saralanmagan va saralangan qism bo’ladi. Algoritm boshida array butunligicha saralanmagan qismda bo’ladi va algoritm oxirida esa saralangan qismga o’tadi.

  1. Array boshidan yurib chiqamiz.

  2. Har bir qadamda saralanmagan qismdagi eng kichik elementni topib uni saralanmagan qism boshidagi element bilan almashtiramiz.

  3. Saralangan qismni ko’rsatkichini bittaga oshiramiz.

  4. Oxirgi element avtomatik tarzda o’z joyida bo’lib qoladi.

Bu jarayonni vizual qanday bo’lishini ham ko’rishingiz mumki

Algoritm murakkabligi


Selection sort eng oddiy saralash algoritmlaridan bo’lib O(n²) vaqt tezligida ishlaydi. Ya’ni, algoritm barcha elementlarni ko’rib chiqish (n-1) mobaynida, har bir qadamda eng kichik elementni topish uchun qolgan elementlarni ko’rib chiqishi kerak bo’ladi. Matematik ko’rinishda quyidagicha bo’ladi:

Download 27 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling