Təsadüfi nizamlama və ya Axmaq nizamlama - kompüter elmlərində yalnız təhsil(nümunə) məqsədilə istifadə olunan səmərəsiz nizamlama alqoritmidir.
Bir dəstə oyun kartını bu alqortim ilə nizamlamaq istəndiyində, dəstənin sıralı olub olmadığına baxılar, əgər dəstə sıralı deyilsə havaya atılaraq yerə düşən kartlar yenidən toplanır. Bu əməliyyat kartlar sıralanana qədər davam edir.
Pascal dilində təsviri
program bogosort; const max = 5; type list = array [1..max] of integer; { Print a list } procedure printa(a: list); var i: integer; begin for i := 1 to max do write(a[i], ' '); writeln end; { Knuth shuffle } procedure shuffle(var a: list); var i,k,tmp: integer; begin 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; { Check for sorted list } function sorted(a: list): boolean; var i: integer; begin sorted := True; for i := 2 to max do if (a[i - 1] > a[i]) then begin sorted := False; exit end end; { Bogosort } procedure bogo(var a: list); var i: integer; begin i := 1; randomize; write(i,': '); printa(a); while not sorted(a) do begin shuffle(a); i := i + 1; write(i,': '); printa(a) end end; { Test and display } var a: list; i: integer; begin for i := 1 to max do a[i] := (max + 1) - i; bogo(a); end. Sample Output: 1: 5 4 3 2 1 2: 3 5 4 1 2 . . . . . . 22: 3 2 1 5 4 23: 1 2 3 4 5</pre>
Java dilində təsviri
public int[] BogoSort(int[] numbers) { Random rnd = new Random(); while(true) { boolean sorted = true; for(int i = 0; i < numbers.length-1; i++) if(numbers[i] > numbers[i+1]) sorted = false; if (sorted) return numbers; for(int i = numbers.length - 1; i > 0; i--) { int rand = rnd.nextInt(i); int temp = numbers[i]; numbers[i] = numbers[rand]; numbers[rand] = temp; } } }
Xarici Keçidlər
Digər Proqramlaşdırma dillərində təsviri
Həmçinin bax
wikipedia, oxu, kitab, kitabxana, axtar, tap, meqaleler, kitablar, oyrenmek, wiki, bilgi, tarix, tarixi, endir, indir, yukle, izlə, izle, mobil, telefon ucun, azeri, azəri, azerbaycanca, azərbaycanca, sayt, yüklə, pulsuz, pulsuz yüklə, haqqında, haqqinda, məlumat, melumat, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, şəkil, muisiqi, mahnı, kino, film, kitab, oyun, oyunlar, android, ios, apple, samsung, iphone, pc, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, web, computer, komputer
Tesadufi nizamlama ve ya Axmaq nizamlama komputer elmlerinde yalniz tehsil numune meqsedile istifade olunan semeresiz nizamlama alqoritmidir Bir deste oyun kartini bu alqortim ile nizamlamaq istendiyinde destenin sirali olub olmadigina baxilar eger deste sirali deyilse havaya atilaraq yere dusen kartlar yeniden toplanir Bu emeliyyat kartlar siralanana qeder davam edir Pascal dilinde tesviriprogram bogosort const max 5 type list array 1 max of integer Print a list procedure printa a list var i integer begin for i 1 to max do write a i writeln end Knuth shuffle procedure shuffle var a list var i k tmp integer begin for i max downto 2 do begin k random i 1 if a i lt gt a k then begin tmp a i a i a k a k tmp end end end Check for sorted list function sorted a list boolean var i integer begin sorted True for i 2 to max do if a i 1 gt a i then begin sorted False exit end end Bogosort procedure bogo var a list var i integer begin i 1 randomize write i printa a while not sorted a do begin shuffle a i i 1 write i printa a end end Test and display var a list i integer begin for i 1 to max do a i max 1 i bogo a end Sample Output 1 5 4 3 2 1 2 3 5 4 1 2 22 3 2 1 5 4 23 1 2 3 4 5 lt pre gt Java dilinde tesviripublic int BogoSort int numbers Random rnd new Random while true boolean sorted true for int i 0 i lt numbers length 1 i if numbers i gt numbers i 1 sorted false if sorted return numbers for int i numbers length 1 i gt 0 i int rand rnd nextInt i int temp numbers i numbers i numbers rand numbers rand temp Xarici KecidlerDiger Proqramlasdirma dillerinde tesviriHemcinin baxnizamlama alqoritmi