1/06/2014

Thuật Toán Bubble Sort code C#





Sắp xếp nổi bọt (Bubble Sort) là phương pháp sắp xếp đơn giản, dễ hiểu thường được dạy trong khoa học máy tính. Giải thuật bắt đầu từ đầu của tập dữ liệu. Nó so sánh hai phần tử đầu, nếu phần tử đứng trước lớn hơn phần tử đứng sau thì đổi chổ chúng cho nhau. Tiếp tục làm như vậy với cặp phần tử tiếp theo cho đến cuối tập hợp dữ liệu. Sau đó nó quay lại với hai phần tử đầu cho đến khi không còn cần phải đổi chổ nữa.
Ý tưởng chính của thuật giải là xuất phát từ cuối (đầu) dãy, đổi chỗ các cặp phần tử kế cận để đưa phần tử nhỏ (lớn) hơn trong cặp phần tử đó về vị trí đúng đầu (cuối) dãy hiện hành, sau đó sẽ không xét đến nó ở bước tiếp theo, do vậy ở lần xử lý thứ i sẽ có vị trí đầu dãy là i . Lặp lại xử lý trên cho đến khi không còn cặp phần tử nào để xét
Mô tả thuật giải :
Bước 1 : i = 0; // lần xử lý đầu tiên 
Bước 2 : j = N-1; //Duyệt từ cuối dãy ngược về vị trí i 
            Trong khi (j < i) thực hiện: 
             Nếu a[j]<a[j-1]: a[j]↔a[j-1];//xét cặp phần tử kế cận 
             j = j-1;
Bước 3 : i = i+1; // lần xử lý kế tiếp 
             Nếu i = N-1: Hết dãy. Dừng 
             Ngược lại: lặp lại bước 2
code

 
for (int write = 0; write < arr.Length; write++)
        {
            for (int sort = 0; sort < arr.Length - 1; sort++)
            {
                if (arr[sort] > arr[sort + 1])
                {
                    temp = arr[sort + 1];
                    arr[sort + 1] = arr[sort];
                    arr[sort] = temp;
                }

            }

            Console.Write("{0} ", arr[write]);

        }


No comments:

Post a Comment