Oldingi misoldagi kabi massivni olamiz va ushbu qatorni saralash uchun "Selection sort" ni bajaramiz.
Yuqoridagi rasmda ko'rsatilgandek, N-elementlarni N soni uchun biz qatorni to'liq tartiblash uchun o'tamiz. Har bir o'tish oxirida, massivning eng kichik elementi tartiblangan massivda kerakli joyga joylashtiriladi.
Keyingi, C ++ yordamida Selection sort amalga oshiramiz.
#include
using namespace std;
int findSmallest (int[],int);
int main ()
{
int myarray[5] = {12,45,8,15,33};
int pos,temp;
cout<<"\n Input list of elements to be Sorted\n";
for(int i=0;i<5;i++)
{
cout<}
for(int i=0;i<5;i++)
{
pos = findSmallest (myarray,i);
temp = myarray[i];
myarray[i]=myarray[pos];
myarray[pos] = temp;
}
cout<<"\n Sorted list of elements is\n";
for(int i=0;i<5;i++)
{
cout<}
return 0;
}
int findSmallest(int myarray[],int i)
{
int ele_small,position,j;
ele_small = myarray[i];
position = i;
for(j=i+1;j<5;j++)
{
if(myarray[j]{
ele_small = myarray[j];
position=j;
}
}
return position;
}
|
Chiqish natijasi:
Saralangan elementlarning kiritish ro'yxati
12 45 8 15 33
Saralangan elementlar ro'yxati bu
8 12 15 33 45
Selection sort, har bir pas bilan, massivning eng kichik elementi kerakli holatda joylashadi. Shunday qilib, tartiblash jarayoni oxirida biz to'liq tartiblangan qatorga ega bo'lamiz.
5.Insertion sort
Qo'shish turi - biz ro'yxatning ikkinchi elementidan boshlaydigan usul. Ikkinchi elementni oldingi (1 -chi ) element bilan taqqoslaymiz va kerakli joyga joylashtiramiz. Keyingi parchada, har bir element uchun biz uni avvalgi barcha elementlar bilan taqqoslaymiz va kerakli elementni o'sha joyga joylashtiramiz.
Yuqoridagi uchta tartiblash usuli sodda va amalga oshirish oson. Ushbu uslublar ro'yxat hajmi kichikroq bo'lganda juda yaxshi ishlaydi. Ro'yxat kattalashgani sayin, ushbu texnikalar unchalik samarali ishlamaydi.
Texnik quyidagi rasmni tushunib aniq bo'ladi.
Do'stlaringiz bilan baham: |