3
Ikki o’zgaruvchining qiymatini almashtirish.
Topilgan minimal elementni o’rniga qo’yish uchun uni hozir
bu yerda turgan element
bilan o’rnini almashtirish kerak. Buning uchun bizga ikki o’zgaruvchining qiymatlarini
almashtirish kerak bo’ladi.
a va b ning qiymatlarini almashtirish uchun qo’shimcha t o’zgaruvhci
kiritamiz va quyidagi amallarni bajaramiz:
t = a;
a = b;
b = t;
Qo’shimcha o’zgaruvchi kiritmasdan ham almashtirish mumkin buning
uchun(o’zingiz tahlil qilib ko’ring):
a = a+b; (a+b, b);
b = a-b; (a+b, a);
a = a-b; (b, a);
C++ dasturlash tilida swap(a, b) funksiyasi orqali o’zgarucxhilar-ning
qiymatlarini almashtirish mumkin.
#include
using namespace std;
int main() {
int n;
cin>>n;
int a[n];
for (int i = 0; i < n; i++)
cin>>a[i];
for (int i = 0; i < n-1; i++) {
int minPos = i;
for (int j = i+1; j < n; j++)
if (a[j] < a[minPos])
minPos = j;
int t = a[i];
a[i] = a[minPos];
a[minPos] = t;
}
for (int i = 0; i < n; i++)
4
cout<
}
minPos – minimal son turgan indeks.
Ishlash vatqi 𝑂(𝑛
2
).
Taqqoshlashlar soni 𝑂(𝑛
2
).
Almashtirishlar soni 𝑂(𝑛).
Qo’shimcha xotira 𝑂(1), ya’ni t o’zgaruvchi uchun.
Pufakcha usulida saralash(Bubble sort).
Umumiy n-1 marta jarayon bajariladi. Har safar ikkita qo’shni element
taqqoslanadi.
Do'stlaringiz bilan baham: