|
|
@ -157,12 +157,11 @@ confuse_list1(List) -> |
|
|
|
|
|
|
|
confuse_list1(0, _TupleSize, TupleList) -> tuple_to_list(TupleList); |
|
|
|
confuse_list1(Index, TupleSize, TupleList) -> |
|
|
|
Index1 = rand:uniform(TupleSize), |
|
|
|
Index2 = rand:uniform(TupleSize), |
|
|
|
Value1 = element(Index1, TupleList), |
|
|
|
Value2 = element(Index2, TupleList), |
|
|
|
TupleList1 = setelement(Index1, TupleList, Value2), |
|
|
|
TupleList2 = setelement(Index2, TupleList1, Value1), |
|
|
|
ChangeIndex = rand:uniform(TupleSize), |
|
|
|
Value1 = element(Index, TupleList), |
|
|
|
Value2 = element(ChangeIndex, TupleList), |
|
|
|
TupleList1 = setelement(Index, TupleList, Value2), |
|
|
|
TupleList2 = setelement(ChangeIndex, TupleList1, Value1), |
|
|
|
confuse_list1(Index - 1, TupleSize, TupleList2). |
|
|
|
|
|
|
|
confuse_list2(List) -> |
|
|
@ -172,12 +171,11 @@ confuse_list2(List) -> |
|
|
|
|
|
|
|
confuse_list2(0, _TupleSize, TupleList) -> array:to_list(TupleList); |
|
|
|
confuse_list2(Index, TupleSize, TupleList) -> |
|
|
|
Index1 = rand:uniform(TupleSize), |
|
|
|
Index2 = rand:uniform(TupleSize), |
|
|
|
Value1 = array:get(Index1, TupleList), |
|
|
|
Value2 = array:get(Index2, TupleList), |
|
|
|
TupleList1 = array:set(Index1, Value2, TupleList), |
|
|
|
TupleList2 = array:set(Index2, Value1, TupleList1), |
|
|
|
ChangeIndex = rand:uniform(TupleSize), |
|
|
|
Value1 = array:get(Index, TupleList), |
|
|
|
Value2 = array:get(ChangeIndex, TupleList), |
|
|
|
TupleList1 = array:set(Index, Value2, TupleList), |
|
|
|
TupleList2 = array:set(ChangeIndex, Value1, TupleList1), |
|
|
|
confuse_list2(Index - 1, TupleSize, TupleList2). |
|
|
|
|
|
|
|
%%根数Tuple元素数量,把List转成Tuple 返回:{TupleList, RemainList} |
|
|
|