|
|
@ -138,6 +138,20 @@ confuseList2(Index, TupleSize, TupleList) -> |
|
|
|
TupleList2 = array:set(ChangeIndex, Value1, TupleList1), |
|
|
|
confuseList2(Index - 1, TupleSize, TupleList2). |
|
|
|
|
|
|
|
transferMaps([], Index, Map) -> {Index - 1, Map}; |
|
|
|
transferMaps([Element | List], Index, Map) -> |
|
|
|
transferMaps(List, Index + 1, Map#{Index => Element}). |
|
|
|
|
|
|
|
confuseList3(List) -> |
|
|
|
{Cnt, Map} = transferMaps(List, 1, #{}), |
|
|
|
confuseList3(Cnt, Cnt, Map). |
|
|
|
|
|
|
|
confuseList3(0, _Size, Map) -> maps:values(Map); |
|
|
|
confuseList3(Index, Size, Map) -> |
|
|
|
ChangeIndex = rand:uniform(Size), |
|
|
|
#{Index := Value1, ChangeIndex := Value2} = Map, |
|
|
|
confuseList3(Index - 1, Size, Map#{Index := Value2, ChangeIndex := Value1}). |
|
|
|
|
|
|
|
%%根数Tuple元素数量,把List转成Tuple 返回:{TupleList, RemainList} |
|
|
|
list_to_tuple(List, TupleCount) -> |
|
|
|
list_to_tuple(List, TupleCount, []). |
|
|
|