1. 程式人生 > >C#隨機排序

C#隨機排序

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            object[] a = { 'a', 'b', 3, 4, 'c', 6, 7, 8, 9, 10 };
            Console.WriteLine("資料的原始順序:");
            foreach(object o in a)
            {
                Console.Write(o+" ");
            }
            Console.WriteLine();
            Console.WriteLine("隨機排序後的順序:");
            randomList(a);
            Console.ReadLine();
        }
        private static void randomList(object[] a)
        {
            object[] b = new object[10];//儲存a隨機排序後的資料
            Random rand = new Random();
            ArrayList list = new ArrayList();
            for (int j = 0; j < 10; j++)
            {
                list.Add(a[j]);
            }
            Console.WriteLine();
            //隨機存入資料
            for (int i = 10; i > 0; i--)
            {
                int c = rand.Next(0, i);//產生隨機數
                b[i - 1] = list[c];//隨機選擇一個數
                list.Remove(list[c]);//移除已經選擇過的數
            }
            //輸出結果
            for (int t = 10; t > 0; t--)
            {
                Console.Write(b[t - 1] + " ");
            }
        }
    }
}