mô tả thuật toán và viết chương trình sắp xếp dãy số a gồm n phần tử(n được nhập từ bàn phím) sắp xếp theo thứ tự tăng dần
(pascal)
Quảng cáo
1 câu trả lời 401
program selectionSort;
var
a: array of Integer;
n, i, j, minIdx, tmp: Integer;
begin
Write('Nhap so phan tu cua day a: ');
ReadLn(n);
// cap phat bo nho cho mang a
SetLength(a, n);
// nhap cac phan tu cua mang a
for i := 0 to n - 1 do
begin
Write('Nhap phan tu a[', i, ']: ');
ReadLn(a[i]);
end;
// sap xep mang a theo thu tu tang dan
for i := 0 to n - 2 do
begin
minIdx := i;
for j := i + 1 to n - 1 do
begin
if a[j] < a[minIdx] then
minIdx := j;
end;
if minIdx <> i then
begin
tmp := a[i];
a[i] := a[minIdx];
a[minIdx] := tmp;
end;
end;
// in ra mang a sau khi sap xep
Write('Day a sau khi sap xep: ');
for i := 0 to n - 1 do
Write(a[i], ' ');
end.
Quảng cáo
Câu hỏi hot cùng chủ đề
-
4129