突然就上網找一下大家都怎麼寫…於是找到這個易懂效率也不錯方式…
以 C# 記錄一下…
大致上觀念就是由後往前跑一次…每次亂數挑一個比自己小的交換…
List<Item> Items = new List<Item>();
// 填入一堆 Item 至 Items 中後…
Random rnd = new Random();
int nIndex = (Items.Count - 1);
while (nIndex > 1)
{
int k = rnd.Next(nIndex);
Item t = Items[k];
Items[k] = Items[nIndex];
Items[nIndex] = t;
--nIndex;
}
沒有留言:
張貼留言