tailieunhanh - Lập trình bằng Turbo Pascal part 4
Phương pháp này giống như sắp lại toμn bộ các quân bài theo thứ tự bằng cách rải rộng trên mặt bàn và nhặt dần từ con bμi thấp nhất trở lên. Cụ thể là: chọn phần tử nhỏ nhất trong dãy nguồn, xếp nó vμo vị trí đầu tiên trong dãy đích. Đây là phần tử thứ nhất và cũng là phần tử cuối cùng của dãy đích. Chọn phần tử nhỏ nhất trong dãy nguồn còn lại, đây là phần tử nhỏ thứ hai, xếp nó vào vị tri thứ hai và cũng là vị trí cuối của. | Lập trình bằng Turbo Pascal j i-1 while x a j do begin a j 1 a j j j-1 end a j 1 x end end Phương pháp chọn trùc tiếp. Mô tả Phương pháp này giống như sắp lại toàn bộ các quân bài theo thứ tự bằng cách rải rộng trên mặt bàn và nhặt dần từ con bài thấp nhất trở lên. Cụ thể là chọn phần tử nhỏ nhất trong dãy nguồn xếp nó vào vị trí đầu tiên trong dãy đích. Đây là phần tử thứ nhất và cũng là phần tử cuối cùng của dãy đích. Chọn phần tử nhỏ nhất trong dãy nguồn còn lại đây là phần tử nhỏ thứ hai xếp nó vào vị tri thứ hai và cũng là vị trí cuối của dãy đích vào lúc này. Lặp lại việc này cho đến khi hết dãy nguồn. Để tiết kiệm chỗ ta cũng xếp dãy đích và dãy nguồn liền nhau trong mảng giống như trong phương pháp trước. Do đó ở bước thứ i thao tác xếp vào cuối dãy đích chính là đổi chỗ cho a i . Xuất phát Dãy đích Dãy nguồn. rỗng Bước 1 - Chọn phần tử bé nhất từ dãy nguồn - Đổi chỗ cho phần tử a 1 . Dãy đích Dãy nguồn Chọn ph Chọn phần tử min a Bước i - Chọn phần tử bé nhất từ dãy nguồn còn lại là a i a i 1 . a n . - Đổi chỗ cho a i . Nguyễn Đình Hoá Viện CNTT - ĐHQG Hà nội 77 Lập trình bằng Turbo Pascal Lặp cho đến khi hết dãy nguồn i n. So sánh với phương pháp chèn - Phương pháp chèn là lấy phần tử đầu tiên trong dãy nguồn còn lại chèn vào đúng chỗ trong dãy đích. Làm việc với dãy đích là chính. - Phương pháp chọn là lấy phần tử nhỏ nhất trong dãy nguồn còn lại xếp vào cuối dãy đích. Làm việc với dãy nguồn là chính. Minh hoạ Xuất phát 44 55 12 42 94 18 06 67 Bước 1 06 55 12 42 94 18 44 67 Bước 2 06 12 55 42 94 18 44 67 Bước 3 06 12 18 42 94 55 44 67 Bước 4 06 12 18 42 94 55 44 67 Bước 5 06 12 18 42 44 55 94 67 Bước 6 06 12 18 42 44 55 94 67 Bước 7 06 12 18 42 44 55 67 94 Bước 8 06 12 18 42 44 55 67 94 Thủ tục chi tiết. for i 1 to n -1 do begin chọn phần tử min của dãy a i a i 1 . a n đổi chỗ cho a if end var i j k integer x real begin for i 1 to size-1 do begin k i x a i for j i 1 to size do if a j x then begin k j x a j end a k a i a i x Nguyễn .
đang nạp các trang xem trước