littlelee Admin
Tổng số bài gửi : 415 Join date : 20/12/2009 Age : 29 Đến từ : Nghĩa địa
| Tiêu đề: Các thuật toán sắp xếp |sắp xếp chèn| Mon 08 Mar 2010, 21:43 | |
| Cũng tương tự vậy, nghe tên là biết hoạt động. So với các loại khác, đây là một phương pháp khá đặc biệt (theo mình là vậy). Phương pháp này hoạt động theo suy tưởng thì có vẻ rất nhanh, nhưng thực ra thì nếu đem vô chạy thực sự thì cần một số hoạt động phụ. Chính các hoạt động phụ này đã làm cho thuật toán này chạy chậm lại so với ý tưởng. Tuy vậy, ko thể thiếu các hoạt động phụ này được. Thuật toán này hoạt động như sau, nó dùng một mảng kahcs để lưu trữ mảng đã sắp xếp. Đầu tiên, nó chuyển phần tử đầu tiên của mảng nhập vào sang mảng đích, tiếp theo, nó xếp phàn tử thứ 2 vào đúng vị trí đúng. tiếp theo là đến pt thứ 3,4,5.., nó cũng xếp lần lượt từng pt ấy vào mảng đích ở vị trí thích hợp. Bài cụ thể: - Code:
-
program xep_mang; uses crt; var a,b:array[1..100] of integer; i,j,n,k:integer; begin clrscr; write('nhap vao so phan tu cua mang: ');readln(n); for i:=1 to n do begin write('a[',i,']=');readln(a[i]); end; b[1]:=a[1]; for i:=2 to n do begin k:=1; while (a[i]>b[k])and(k<=i) do inc(k); for j:=i+1 downto k+1 do b[j]:=b[j-1]; b[k]:=a[i]; end; write('mang sau khi xep la: '); for i:=1 to n do write(b[i],' '); readln; end. | |
|
hoangtin14 Mèo con
Tổng số bài gửi : 96 Join date : 08/02/2010 Age : 29 Đến từ : Bình Định
| Tiêu đề: Re: Các thuật toán sắp xếp |sắp xếp chèn| Sat 13 Mar 2010, 17:46 | |
| Cái này ít dùng lắm. Thường thì chỉ dùng nổi bọt, chọn, chia để trị thôi. | |
|
littlelee Admin
Tổng số bài gửi : 415 Join date : 20/12/2009 Age : 29 Đến từ : Nghĩa địa
| Tiêu đề: Re: Các thuật toán sắp xếp |sắp xếp chèn| Sun 14 Mar 2010, 21:58 | |
| uhm, dĩ nhiên, nhưng đây là để tham khảo. Hơn nữa nó nhanh hơn chọn nhiều, nhưng dĩ nhiên thì sao lại bằng "xếp đổi chỗ" và "xếp nhanh" được. ^^ | |
|
Sponsored content
| Tiêu đề: Re: Các thuật toán sắp xếp |sắp xếp chèn| | |
| |
|