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++)
cout<
}
minPos – minimal son turgan indeks.
Ishlash vatqi ( ).
Taqqoshlashlar soni ( ).
Almashtirishlar soni .
Qo’shimcha xotira , ya’ni t o’zgaruvchi uchun.
Do'stlaringiz bilan baham: |