Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

Sap xep

1. Sap xep theo kieu lua chon:

Procedure sapxepluachn (K[1..n]);

For i:=1 to n do

Begin

m := i;

For j := i+1 to n do

If K[j] < K[m] then m:=j

If m # i then

Begin

tam := K[i];

K[ i] := K[m];

K[m] := tam;

End;

End;

Return;

----------------------------------------------------------------

2.Sap xem them dan:

Procedure sapxepthemdan (K[1..n]);

For i:=2 to n do

Begin

m := i; x := K[i]

While (m>1) and (K[m-1] < K[m]) do

Begin

K[m] := K[m-1]; m := m -1;

End;

If m # i then K[m] := x;

End;

Return;

------------------------------------------------------------------

3.Sap xep kieu doi cho:

Procedure sapxepdoicho (K[1..n]);

For i := 1 to n-1 do

For m := n downto i+1 do

If K[m-1] > K[m] then

K[m-1] <-> K[m]

Return;

-------------------------------------------------------------------

4.Sap xep hoa nhap:

Procedure sapxephoanhap (K,n);

d:=1;

Whild d<n do

Begin

b:=1; l:=b+d-1; m:=b+2d-1;

While m<=n do

Begin

tron(k,b,l,m);

b:=m+1; l:=b+d-1; m:=b+2d-1;

End;

If l<n then tron(k,b,l,m);

d:=2d;

End;

Return;

------------------------------------------------------------------

5.QuickSort........................

Procedure Quick-sort(k,lb,ub);

If lb < ub then

Begin

chot:=k[lb]; i:=lb+1; j:=ub;

While i<j Do

Begin

While (i<= ub) And (k[i]<chot) Do

i :=i+1;

While (i>=lb) Dnd (k[j]>chot) Do

j:=j-1;

If i<j Then k[j]<-> k[i]

End;

If j<lb Then Quick-sort(k,lb+1,ub)

Else If i >ub Then

Begin

k[lb] <-> k[ub];

Quick-sort(k,lb,ub-1)

End;

Else

Begin

k[lb]<->k[j]

Quick-sort(k,lb,j-1);

Quick-sort(k,j+1,ub);

End;

End;

Return;

Bạn đang đọc truyện trên: Truyen247.Pro

Tags: