"함수 shuffle()"의 두 판 사이의 차이

 
(사용자 3명의 중간 판 34개는 보이지 않습니다)
1번째 줄: 1번째 줄:
[[category: 랜덤]]
[[category: Array]]
[[category: Array]]
;shuffle
;shuffle
;Collections.shuffle
;Collections.shuffle
==Go==
[[category: Go]]
{{참고|Go Shuffle()}}
<syntaxhighlight lang='go' run>
package main
import (
    "fmt"
    "math/rand"
)
func main() {
    a := []string{"Apple", "Banana", "Orange", "Mango"}
    rand.Shuffle(len(a), func(i, j int) { a[i], a[j] = a[j], a[i] })
    fmt.Println(a)
}
</syntaxhighlight>


==Java==
==Java==
[[category: Java]]
[[category: Java]]
<source lang='Java'>
{{참고|자바 shuffle()}}
String strs[] = {"a", "b", "c", "d", "e", "f", "g"};
<syntaxhighlight lang='Java' run>
List<String> list = Arrays.asList(strs);
import java.util.Arrays;
Collections.shuffle(list);
import java.util.List;
for (String str : list) {
import java.util.Collections;
  System.out.println(str);
public class MyClass {
    public static void main(String args[]) {
        List<String> list = Arrays.asList("Apple", "Banana", "Orange", "Mango");
        Collections.shuffle(list);
        for (String str : list) {
            System.out.println(str);
        }
    }
}
}
</source>
</syntaxhighlight>


==JavaScript==
==JavaScript==
[[category: JavaScript]]
[[category: JavaScript]]
;inline style
<syntaxhighlight lang='JavaScript' run>
<source lang='JavaScript'>
let array = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
var arr = ['q', 'r', 's', 't'];
let shuffled = array
arr.sort(function(){return 0.5-Math.random()});
  .map(a => ([Math.random(),a]))
console.log( arr );
  .sort((a,b) => a[0]-b[0])
// ["s", "r", "t", "q"]
  .map(a => a[1])
</source>
console.log( shuffled );
;function style
</syntaxhighlight>
<source lang='JavaScript'>
<syntaxhighlight lang='JavaScript' run>
function shuffle(o){
let array = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
o.sort(function(){return 0.5-Math.random()});
array.map((el, i, arr) => {
return o;
  let r = ~~(Math.random() * arr.length);
};
  arr[i] = arr[r];
var arr = ['q', 'r', 's', 't'];
  arr[r] = el;
var newArr = shuffle(arr);
  return arr;
console.log( newArr );
})[0];
// ["r", "q", "s", "t"]
console.log(array);
</source>
</syntaxhighlight>
<source lang='JavaScript'>
function shuffle(o){
    for(var j, x, i = o.length; i; j = Math.floor(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
    return o;
};
var arr = ['q', 'r', 's', 't'];
var newArr = shuffle(arr);
console.log( newArr );
// ["s", "q", "t", "r"]
</source>


==jQuery==
===jQuery===
[[category: jQuery]]
[[category: jQuery]]
<source lang='html5'>
<syntaxhighlight lang='html5'>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
<script>
62번째 줄: 78번째 줄:
// ["Orange", "Mango", "Apple", "Banana"]
// ["Orange", "Mango", "Apple", "Banana"]
</script>
</script>
</source>
</syntaxhighlight>


==PHP==
==PHP==
[[category: PHP]]
[[category: PHP]]
<source lang='PHP'>
{{참고|PHP shuffle()}}
$arr = array("Apple", "Banana", "Orange", "Mango");
<syntaxhighlight lang='PHP' run>
$arr = ["Apple", "Banana", "Orange", "Mango"];
shuffle($arr);
shuffle($arr);
print_r($arr);
print_r($arr);
// Array
</syntaxhighlight>
// (
//    [0] => Mango
//    [1] => Orange
//    [2] => Apple
//    [3] => Banana
// )
</source>


==Python==
==Python==
{{참고|파이썬 shuffle()}}
[[category: Python]]
[[category: Python]]
<source lang='python'>
<syntaxhighlight lang='python' run>
import random
import random
fruits = ["Apple", "Banana", "Orange", "Mango"]
fruits = ["Apple", "Banana", "Orange", "Mango"]
random.shuffle(fruits)
random.shuffle(fruits)
print fruits
print( fruits )
# ['Orange', 'Banana', 'Mango', 'Apple']
</syntaxhighlight>
</source>


==Ruby==
==Ruby==
[[category: Ruby]]
[[category: Ruby]]
<source lang='Ruby'>
<syntaxhighlight lang='Ruby' run>
fruits = ["Apple", "Banana", "Orange", "Mango"]
fruits = ["Apple", "Banana", "Orange", "Mango"]
puts fruits.sort{ rand }
shuffled = fruits.sort{ rand }
# Mango
puts shuffled
# Orange
</syntaxhighlight>
# Apple
# Banana
</source>


==같이 보기==
==같이 보기==
*[[array]]
*[[함수 get_random_element()]]
*[[random]]
*[[함수 array()]]
*[[함수 sort()]]
*[[함수 first()]]
*[[셔플링]]

2021년 6월 24일 (목) 10:52 기준 최신판

shuffle
Collections.shuffle

1 Go[ | ]

package main

import (
    "fmt"
    "math/rand"
)

func main() {
    a := []string{"Apple", "Banana", "Orange", "Mango"}
    rand.Shuffle(len(a), func(i, j int) { a[i], a[j] = a[j], a[i] })
    fmt.Println(a)
}

2 Java[ | ]

import java.util.Arrays;
import java.util.List;
import java.util.Collections;
public class MyClass {
    public static void main(String args[]) {
        List<String> list = Arrays.asList("Apple", "Banana", "Orange", "Mango");
        Collections.shuffle(list);
        for (String str : list) {
            System.out.println(str);
        }
    }
}

3 JavaScript[ | ]

let array = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
let shuffled = array
  .map(a => ([Math.random(),a]))
  .sort((a,b) => a[0]-b[0])
  .map(a => a[1])
console.log( shuffled );
let array = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
array.map((el, i, arr) => {
  let r = ~~(Math.random() * arr.length);
  arr[i] = arr[r];
  arr[r] = el;
  return arr;
})[0];
console.log(array);

3.1 jQuery[ | ]

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
(function($){
    $.shuffle = function(arr) {
        for(var j, x, i = arr.length; i; j = parseInt(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x);
        return arr;
    }
})(jQuery);

var fruits = ["Apple", "Banana", "Orange", "Mango"];
$.shuffle(fruits);
console.log(fruits);
// ["Orange", "Mango", "Apple", "Banana"]
</script>

4 PHP[ | ]

$arr = ["Apple", "Banana", "Orange", "Mango"];
shuffle($arr);
print_r($arr);

5 Python[ | ]

import random
fruits = ["Apple", "Banana", "Orange", "Mango"]
random.shuffle(fruits)
print( fruits )

6 Ruby[ | ]

fruits = ["Apple", "Banana", "Orange", "Mango"]
shuffled = fruits.sort{ rand }
puts shuffled

7 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}