Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

shellsort

void shellsort(int b[100])

{

    int i, j, increment,temp;

    increment = 3;

    while(increment > 0)

    {

                    for(i=0; i<n;i++)

                    {

                                    j = i;

                                    temp=b[i];

                                    while((j >= increment)&&(b[j-increment] > temp))

                                    {

                                                    b[j] = b[j - increment];

                                                    j = j- increment;

                                    }

                                                b[j] = temp;

                                }

                                if(increment/2 != 0)

                                    increment = increment/2;

                                else if(increment == 1)

                                    increment = 0;

                                else

                                    increment = 1;

                }

}

Các bước tiến hành như sau:

Bước 1:  Chọn k khoảng cách h[1], h[2], ..., h[k]; i = 1;

Bước 2:  Phân chia dãy ban đầu thành các dãy con cách nhau h[i] khoảng  cách. Sắp xếp từng dãy con bằng phương pháp chèn trực tiếp;

Bước 3:   i = i+1; 

         Nếu  i > k : Dừng 

         Ngược lại : Lặp lại Bước 2.      

Bạn đang đọc truyện trên: Truyen247.Pro

Tags: