Data update
This commit is contained in:
parent
35bcdeebf8
commit
74c69a0df6
2427 changed files with 31826 additions and 3468 deletions
11
Task/Knuth-shuffle/Amazing-Hopper/knuth-shuffle.hopper
Normal file
11
Task/Knuth-shuffle/Amazing-Hopper/knuth-shuffle.hopper
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
#include <basico.h>
|
||||
|
||||
algoritmo
|
||||
|
||||
v={},n=19
|
||||
'0,1,2,3,4,5,6,7,8,9,"\t","\v","\v","A","B","C","D","E","F"' enlistar en 'v'
|
||||
|
||||
imprimir ("Original:\n[",v,"]\n\n")
|
||||
imprimir (rareti( n, #(ceil(rand(n))), n, intercambiar en (v)),\
|
||||
"Processed:\n[", v,"]\n" )
|
||||
terminar
|
||||
|
|
@ -4,6 +4,9 @@
|
|||
|
||||
template<typename RandomAccessIterator>
|
||||
void knuthShuffle(RandomAccessIterator begin, RandomAccessIterator end) {
|
||||
if(begin == end) {
|
||||
return;
|
||||
}
|
||||
for(unsigned int n = end - begin - 1; n >= 1; --n) {
|
||||
unsigned int k = rand() % (n + 1);
|
||||
if(k != n) {
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ extension randomOp
|
|||
|
||||
for(int i := 0, i < max, i += 1)
|
||||
{
|
||||
var j := randomGenerator.eval(i,max);
|
||||
var j := randomGenerator.nextInt(i,max);
|
||||
|
||||
self.exchange(i,j)
|
||||
};
|
||||
|
|
|
|||
19
Task/Knuth-shuffle/GW-BASIC/knuth-shuffle.basic
Normal file
19
Task/Knuth-shuffle/GW-BASIC/knuth-shuffle.basic
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
100 CLS
|
||||
110 RANDOMIZE TIMER
|
||||
120 DIM CARDS(51)
|
||||
130 PRINT "before:"
|
||||
140 FOR L0 = 0 TO 51
|
||||
150 CARDS(L0) = L0
|
||||
160 PRINT STR$(CARDS(L0));" ";
|
||||
170 NEXT L0
|
||||
180 FOR L0 = 51 TO 0 STEP -1
|
||||
190 CARD = INT(RND(1)*(L0+1))
|
||||
200 IF CARD <> L0 THEN T = CARDS(CARD) : CARDS(CARD) = CARDS(L0) : CARDS(L0) = T
|
||||
210 NEXT L0
|
||||
220 PRINT : PRINT
|
||||
230 PRINT "after:"
|
||||
240 FOR L0 = 0 TO 51
|
||||
250 PRINT STR$(CARDS(L0));" ";
|
||||
260 NEXT L0
|
||||
270 PRINT
|
||||
280 END
|
||||
24
Task/Knuth-shuffle/Minimal-BASIC/knuth-shuffle.basic
Normal file
24
Task/Knuth-shuffle/Minimal-BASIC/knuth-shuffle.basic
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
100 REM Knuth shuffle
|
||||
110 RANDOMIZE
|
||||
120 DIM B(51)
|
||||
130 PRINT "BEFORE:"
|
||||
140 FOR L0 = 0 TO 51
|
||||
150 LET B(L0) = L0
|
||||
160 PRINT B(L0);" ";
|
||||
170 NEXT L0
|
||||
180 FOR L0 = 51 TO 0 STEP -1
|
||||
190 LET C = INT(RND*(L0+1))
|
||||
200 IF C <> L0 THEN 220
|
||||
210 GOTO 250
|
||||
220 LET T = B(C)
|
||||
230 LET B(C) = B(L0)
|
||||
240 LET B(L0) = T
|
||||
250 NEXT L0
|
||||
260 PRINT
|
||||
270 PRINT
|
||||
280 PRINT "AFTER:"
|
||||
290 FOR L0 = 0 TO 51
|
||||
300 PRINT B(L0);" ";
|
||||
310 NEXT L0
|
||||
320 PRINT
|
||||
330 END
|
||||
15
Task/Knuth-shuffle/SETL/knuth-shuffle.setl
Normal file
15
Task/Knuth-shuffle/SETL/knuth-shuffle.setl
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
program knuth_shuffle;
|
||||
setrandom(0);
|
||||
|
||||
array := [1..10];
|
||||
print("Before shuffling:", array);
|
||||
shuffle(array);
|
||||
print("After shuffling: ", array);
|
||||
|
||||
proc shuffle(rw tup);
|
||||
loop for i in [1..#tup-1] do
|
||||
j := random [i+1..#tup];
|
||||
[tup(i), tup(j)] := [tup(j), tup(i)];
|
||||
end loop;
|
||||
end proc;
|
||||
end program;
|
||||
Loading…
Add table
Add a link
Reference in a new issue