C kalitlarni taqqoslashlar soni:
Minimal almashtirishlar soni:
Elementlar tartiblangan bo’lsa va teskari tartibda bo’lsa:
O’rtacha almashtirishlar soni:
Bu yerda
- Eyler o’zgarmasi.
Xulosa: To’g’ridan-to’g’ri tanlash usuli to’g’ridan-to’g’ri qo’yish usulidan ustunroq. Lekin agar kalitlar dastlab saralangan bo’lsa, yoki qisman saralangan bo’lsa to’g’ridan-to’g’ri qo’yish usuli sal tezroq bo’ladi.
TOPSHIRIQ NATIJASI
To’g’ri tanlov usulidan foydalanib Talabalar familiyalarini alifbo tartibida saralash.
Elboyev Baxtiyor |
6 |
DASTUR KODI
#include <iostream> #include <string> #include<stdio.h> using namespace std;
// Funksiyalarimiz prototipi
void selectionSort(string arr[], int size); void chiqarish(string arr[], int size);
int main()
{
const int Son_familya = 10; string familya[Son_familya];
cout<<"Talabalar familyasini kiriting"<<endl;
for(int i=0;i<Son_familya;i++)
{
cin>>familya[i];
}
cout<<endl;
// saralaymiz
selectionSort(familya, Son_familya);
// natijani chiqaramiz
cout << "Familyalar saralandi: "<<endl; chiqarish(familya, Son_familya);
return 0;
}
// Satrni saralash uchun funksiyamiz
void selectionSort(string arr[], int size)
{
int boshlangich, minIndex; string minsuz;
for (boshlangich = 0; boshlangich < (size - 1); boshlangich++)
{
minIndex = boshlangich; minsuz = arr[boshlangich];
for (int index = (boshlangich + 1); index < size; index++)
{
if (arr[index] < minsuz)
{
minsuz = arr[index]; minIndex = index;
}
}
arr[minIndex] = arr[boshlangich]; arr[boshlangich] = minsuz;
}
}
// familyalarni konsolga chiqaruvchi funksiya void chiqarish(string arr[], int size)
{
for (int count = 0; count < size; count++)
{
Elboyev Baxtiyor |
7 |
cout << arr[count]; cout << "\t\n";
}
}
Matematika madaniyatning bir jihati bo'lgani kabi, algoritmlar uning to'plamidir.
- Karl Benjamin Boyer
Elboyev Baxtiyor |
8 |