langs a-z
This commit is contained in:
parent
db842d013d
commit
d066446780
11389 changed files with 98361 additions and 1020 deletions
33
Task/Knuth-shuffle/Pascal/knuth-shuffle.pascal
Normal file
33
Task/Knuth-shuffle/Pascal/knuth-shuffle.pascal
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
program Knuth;
|
||||
|
||||
const
|
||||
max = 10;
|
||||
type
|
||||
list = array [1..max] of integer;
|
||||
|
||||
procedure shuffle(var a: list);
|
||||
var
|
||||
i,k,tmp: integer;
|
||||
begin
|
||||
randomize;
|
||||
for i := max downto 2 do begin
|
||||
k := random(i) + 1;
|
||||
if (a[i] <> a[k]) then begin
|
||||
tmp := a[i]; a[i] := a[k]; a[k] := tmp
|
||||
end
|
||||
end
|
||||
end;
|
||||
|
||||
{ Test and display }
|
||||
var
|
||||
a: list;
|
||||
i: integer;
|
||||
|
||||
begin
|
||||
for i := 1 to max do
|
||||
a[i] := i;
|
||||
shuffle(a);
|
||||
for i := 1 to max do
|
||||
write(a[i], ' ');
|
||||
writeln
|
||||
end.
|
||||
Loading…
Add table
Add a link
Reference in a new issue