1
我有一個元組列表,我想要一個函數,它在這個列表中隨機選擇兩個元組,然後交換這兩個元組。例如,如果我有一個列表爲((0,0),(1,0),(1,1),(1,2),(2,2),(0,2))的列表, ,然後,隨機選擇兩個元組。如果選擇(0,0)和(1,0),則該函數的返回結果爲((1,0),(0,0),(1,1),(1,2),( 2,2),(0,2))。如何用sml更改列表中的項目?
我是SML的新手,我很努力。有一個psudo代碼,我想這是不對的,任何人都可以幫助我正確的嗎? :
fun permutation(lst:(int*int) list)=
let
val nextInt = Random.randRange (1,List.length(lst))
val r = Random.rand (1,1)
val x1 = nextInt r
val x2 = nextInt r
val temp = sub(lst,r1)
update(lst,r1,sub(lst,r2))
update(lst,r2,temp)
in
lst
end