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.
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.
Saralanadigan qator quyidagicha:
Endi har bir o'tish uchun biz hozirgi elementni uning oldingi elementlari bilan taqqoslaymiz. Shunday qilib, birinchi o'tishda biz ikkinchi elementdan boshlaymiz.
Shunday qilib, N elementlari bo'lgan massivni to'liq tartiblash uchun biz N soni o'tishini talab qilamiz.
C ++ dan foydalanib, Insertion Sort texnikasini amalga oshiramiz.
#include
using namespace std;
int main ()
{
int myarray[5] = { 12,4,3,1,15};
cout<<"\nInput list is \n";
for(int i=0;i<5;i++)
{
cout <}
for(int k=1; k<5; k++)
{
int temp = myarray[k];
int j= k-1;
while(j>=0 && temp <= myarray[j])
{
myarray[j+1] = myarray[j];
j = j-1;
}
myarray[j+1] = temp;
}
cout<<"\nSorted list is \n";
for(int i=0;i<5;i++)
{
cout <}
}
|
Do'stlaringiz bilan baham: |