Diễn đàn tin học Nguyễn Văn Linh
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Diễn đàn tin học Nguyễn Văn Linh

The second house for every one
 
Trang ChínhLatest imagesTìm kiếmĐăng kýĐăng Nhập

 

 Các thuật toán sắp xếp |sắp xếp chèn|

Go down 
2 posters
Tác giảThông điệp
littlelee
Admin
Admin
littlelee


Tổng số bài gửi : 415
Join date : 20/12/2009
Age : 29
Đến từ : Nghĩa địa

Các thuật toán sắp xếp |sắp xếp chèn| Empty
Bài gửiTiêu đề: Các thuật toán sắp xếp |sắp xếp chèn|   Các thuật toán sắp xếp |sắp xếp chèn| I_icon_minitimeMon 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.
Về Đầu Trang Go down
hoangtin14
Mèo con
hoangtin14


Tổng số bài gửi : 96
Join date : 08/02/2010
Age : 29
Đến từ : Bình Định

Các thuật toán sắp xếp |sắp xếp chèn| Empty
Bài gửiTiêu đề: Re: Các thuật toán sắp xếp |sắp xếp chèn|   Các thuật toán sắp xếp |sắp xếp chèn| I_icon_minitimeSat 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.
Về Đầu Trang Go down
littlelee
Admin
Admin
littlelee


Tổng số bài gửi : 415
Join date : 20/12/2009
Age : 29
Đến từ : Nghĩa địa

Các thuật toán sắp xếp |sắp xếp chèn| Empty
Bài gửiTiêu đề: Re: Các thuật toán sắp xếp |sắp xếp chèn|   Các thuật toán sắp xếp |sắp xếp chèn| I_icon_minitimeSun 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. ^^
Về Đầu Trang Go down
Sponsored content





Các thuật toán sắp xếp |sắp xếp chèn| Empty
Bài gửiTiêu đề: Re: Các thuật toán sắp xếp |sắp xếp chèn|   Các thuật toán sắp xếp |sắp xếp chèn| I_icon_minitime

Về Đầu Trang Go down
 
Các thuật toán sắp xếp |sắp xếp chèn|
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» Các thuật toán sắp xếp |sắp xếp đổi chỗ|
» Các thuật toán sắp xếp |sắp xếp nổi bọt|
» Các thuật toán sắp xếp |sắp xếp chọn|
» Các thuật toán sắp xếp |sắp xếp nhanh|
» Cần giúp đỡ cải tiến thuật toán bài này

Permissions in this forum:Bạn không có quyền trả lời bài viết
Diễn đàn tin học Nguyễn Văn Linh :: Góc tin học :: Thủ thuật-
Chuyển đến