1. Trang chủ
  2. » Giáo án - Bài giảng

sắp xếp chèn trong tin học

1 274 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 1
Dung lượng 25 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trang 1

uses crt;

var i,k,j,n,tam,dem,x:integer;

a: array [1 50] of integer;

begin

clrscr;

write('n=');readln(n);

for i:= 1 to n do

begin

write('a[',i,']='); readln(a[i]); end;

for i:= 1 to n-1 do

for j:= i+1 to n do

begin

if A[i]<a[j] then

begin

tam:=a[i];a[i]:=a[j];a[j]:=tam; end;

end;

write('mang sau khi sap xep');

for j:=1 to n do

write(a[j]:5);

writeln;

{Chèn vào vị trí theo thứ tự đã sắp xếp}

begin

Write('Nhap vao so nguyen x : ');readln(x);

{Tìm vị trí cần chèn}

i := 1;

k:= n+1;

while (i<=n) and (k=n+1) do

begin

if x > a[i] then k := i;

i:= i + 1;

end;

{Nếu x>a[i] thì k:= i (i là vị trí mà ta cần chèn vào) lúc này điều kiện k=n+1 trong vòng lặp while do sai nên thoát khỏi vòng lặp while do trên, nếu x<=a[i] thì không gán k:=i mà thực hiện tăng giá trị i bằng lệnh i:=i+1; quay trở lên vòng lặp và kiểm tra điều kiện (i<=n) and (k=n+1}

{Đưa số nguyên x vào vị trí cần chèn}

for i := n downto k do a[i + 1] := a[i]; {dãn ra 1 vị trí từ cuối dãy đến vị trí k thoát khỏi vl} a[k]:= x; {sau khi thoát khỏi vòng lặp a[k] nhận giá trị của số nguyên x}

writeln('DAY SAU KHI CHEN x:');

for i := 1 to n + 1 do write(a[i]:5);

end;

readln;

end

Ngày đăng: 15/05/2016, 07:46

TỪ KHÓA LIÊN QUAN

w