Хөвөх эрэмбэлэлт нь туулай яст мэлхийн төрлийн эрэмбэлэлт. Энэ төрлийн эрэмбэлэлт нь нэг төрлийн элементүүд нь хурдан байрандаа орж үлдсэн нь удаан байрандаа ордог. Хөвөх эрэмбэлэлт дээр бол багаас их рүү эрэмбэлж байгаа тохиолдолд их элементүүд нь хурдан байрандаа орж бага элементүүд нь удаан байрандаа ордог. Өөрөөр хэлбэл их элементүүдийг зөв байранд нь оруулахад чиглэгдсэн гэсэн үг. Доор хөдөлгөөнт жишээ үзүүлсэн байна.
Псевдо код нь:
procedure bubbleSort( A : list of sortable items )
repeat
swapped = false
for i = 1 to length(A) - 1 inclusive do:
if A[i-1] > A[i] then
swap( A[i-1], A[i] )
swapped = true
end if
end for
until not swapped
end procedure
Нэг иймэрхүү байх нь. За тэгвэл Си хэл дээрх ингэж бичлээ.
Гаралт нь:
За тэгвэл одоо Лисп хэл дээр бичиж үзье.
Гаралт нь:
Лисп хэлний бичиглэлийг харж байгаа байх. Си-гээс хоёр дахин бага бичлэгтэй байгаа
биз. Дараа нь Сонголтын Эрэмбэлэлтийн тухай оруулнаа.
void quicksort(int a[], int L, int R)
ReplyDelete{ int i , j , w, x, k;
i=L; j=R; k=(L+R)/2;
x=a[k];
do{
while( a[i] x) j= j-1;
if( i<=j)
{ w=a[i];
a[i]=w;
i=i+1;
j=j-1;
}
}
while( i<=j);
if( Li) quicksort( a,i,R);
}
hamgiin shildeg algorithm bgamda
Хурдан Эрэмбэлэлтийн тухай удахгүй оруулнаа.
ReplyDeletehttp://en.wikipedia.org/wiki/Sorting_algorithm
ReplyDelete