Halaman

Tampilkan postingan dengan label sorting. Tampilkan semua postingan
Tampilkan postingan dengan label sorting. Tampilkan semua postingan

Sabtu, 26 September 2009

Selection Sort

program selection_sort;
uses wincrt;
var
data :array[1..100] of integer;
i,j,k,n,temp,indeksmin:integer;
begin
write('Masukkan banyak data = ');readln(n);
for i:=1 to n do
begin
write('Masukkan data ke ',i,' = ');readln(data[i]);
end;
for i:=1 to n do
begin
indeksmin:=i;
for j:=i+1 to n do
begin
if data[j] < data[indeksmin] then
begin
indeksmin :=j;
end;
end;
temp := data[indeksmin];
data[indeksmin] := data[i];
data[i] := temp;
end;
writeln('Setelah diurutkan = ');
for k:=1 to n do
begin
writeln(data[k]);
end;
readln;
end.

Insertion Sort

program insertion_sort;
uses wincrt;
var
i,j,k,n,sisip:integer;
data:array[1..100] of integer;
begin
clrscr;
write('Masukkan banyak data = ');readln(n);
for k:=1 to n do
begin
write('Masukkan data ke ',k,' = ');readln(data[k]);
end;
for i:=1 to n-1 do
begin
if data[i]>data[i+1] then
begin
sisip:=data[i+1];
j:=i;
while (j>=1) and (data[j]>sisip) do
begin
data[j+1]:=data[j];
data[j]:=sisip;
j:=j-1;
end;
end;
end;
writeln('Setelah diurutkan :');
for k:=1 to n do
begin
writeln(data[k]);
end;
readln;
end.

Minggu, 01 Maret 2009

Program Pascal Bubble Sort

program bubble_sort;
uses wincrt;
var
i,n,j:integer;
a:array[1..100] of integer;
procedure buble;
var
z:integer;
begin
for i:=1 to n-1 do
begin
for j:=n downto i+1 do
begin
if a[j] < a[j-1] then
begin
z:= a[j];
a[j]:= a[j-1];
a[j-1]:= z;
end;
end;
end;
end;
begin
write(' Masukkan jumlah elemen array = ');readln(n);
for i:= 1 to n do
begin
write(' Masukkan elemen ke ',i,' = ');readln(a[i]);
end;
buble;
for j:= 1 to n do
writeln(a[j]);
readln;
end.