takrorlanib, to bitta eng “katta” element qolguncha davom ettiriladi.
for(int i=0;i
for
(int
j=
i
+
1
;j
if(a[i]>a[j])
{
int k = a[j];
a[j]=a[i];
a[i]= k;}
Saralashning quyidagicha usullari bor:
4.
qat’iy (to‘g‘ridan-to‘g‘ri) usullar;
5.
yaxshilangan usullar.
Qat’iy usullarning afzalliklarini ko‘rib chiqaylik:
6.
Bilamizki, dasturlarning o‘zlari ham xotirada joy egallaydi.
To‘g‘ridan- to‘g‘ri saralash usullarining dasturlari qisqa bo‘lib, ular
tushunishga oson.
7.
To‘g‘ridan-to‘g‘ri
saralash
usullari
orqali
saralash
tamoyillarining asosiy xususiyatlarini tushuntirish qulay.
8.
Murakkablashtirilgan usullarda uncha ko‘p amallarni bajarish
talab qilinmasada, ushbu amallarning o‘zlari ham ancha murakkabdir. Garchi
yetarlicha katta n larda ulardan foydalanish tavsiya etilmasada, kichik n larda
mazkur usullar tezroq ishlaydi.
Shu joyni o‘zida qat’iy usullarni ishlash tamoyillariga ko‘ra 3 ta toifaga bo‘lish
mumkin:
9.
To‘g‘ridan-to‘g‘ri qo‘shish usuli (by insertion);
10.
To‘g‘ridan-to‘g‘ri tanlash usuli (by selection);
11.
To‘g‘ridan-to‘g‘ri almashtirish usuli (by exchange).
1-misol:
Dastur kodi:
#include
using namespace std;
int main() {
int n;
cout << "Elementlar sonini kiriting: "<cin>>n;
int a[n];
cout << "Massiv elementlarini kiriting: "<for (int i = 0; i < n; i++)
{
cin>>a[i];
}
for (int i = n-1; i >= 1; i--)
{
for (int j = 0; j < i; j++)
{
if (a[j] > a[j+1])
{
swap(a[j],a[j+1]);
}
}
}
for (int i = 0; i < n; i++)
cout<
return 0;
}
Dostları ilə paylaş: