1 [Hướng dẫn]Thuật toán sắp xếp nổi bọt Thu Jun 02, 2011 9:08 pm
Admin
Quản trị viên
Sắp xếp nổi bọt
Ý tưởng:
Duyệt từ cuối dãy lên, nếu gặp 2 khoá kế cận ngược thứ tự thì đổi chỗ chúng cho nhau. Như vậy lượt đầu tiên khoá có giá trị nhỏ nhất dược chuyển lên đầu. Đến lượt thứ 2, khoá có giá trị nhỏ thứ 2 được đưa về đúng vị trí...
Thuật toán:
proc. SXNoiBot( k: dãy khoá, n: độ dài khoá)
1. for i: = 1 to n do
2. for j=n downto i+1 do
3. if k[j] < k[j-1] then
a. x = k[j]
b. k[j] = k[j-1]
a. c = X[j-1]:=x
Ý tưởng:
Duyệt từ cuối dãy lên, nếu gặp 2 khoá kế cận ngược thứ tự thì đổi chỗ chúng cho nhau. Như vậy lượt đầu tiên khoá có giá trị nhỏ nhất dược chuyển lên đầu. Đến lượt thứ 2, khoá có giá trị nhỏ thứ 2 được đưa về đúng vị trí...
Thuật toán:
proc. SXNoiBot( k: dãy khoá, n: độ dài khoá)
1. for i: = 1 to n do
2. for j=n downto i+1 do
3. if k[j] < k[j-1] then
a. x = k[j]
b. k[j] = k[j-1]
a. c = X[j-1]:=x