005_基數排序

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

namespace QueueTest
{
    class QueueSort
    {
        enum DigitType { ones=1,tems=10}

        static void DisplayArray(int[] n) {
            for (int i = 0; i < n.GetUpperBound(0); i++)
            {
                Console.Write(n[i]+" ");
            }
        }

        static void RSort(Queue[] que,int[] n, DigitType digit  )
        {
            int sNum;
            for (int i = 0; i <= n.GetUpperBound(0); i++)
            {
                if (digit==DigitType.ones)
                {
                    sNum = n[i] % 10;
                }
                else
                {
                    sNum = n[i] /10;
                }

                que[sNum].Enqueue(n[i]);
            }
        }

        static void BuildArray(Queue[] que, int[] n) {

            int y = 0;
            for (int i = 0; i <=9; i++)
            {
                while (que[i].Count>0)
                {
                    n[y] =Convert.ToInt32( que[i].Dequeue().ToString());
                    y++;
                }
            }
        }
        static void Main()
        {
            Queue[] numQueue = new Queue[10];
            int[] nums = new int[] { 91,46,85,15,92,35,31,22 };
            Console.WriteLine("初始排序:");
            DisplayArray(nums);

            for (int i = 0; i < 10; i++)
            {
                numQueue[i] = new Queue();
            }

            RSort(numQueue, nums,DigitType.ones);
            BuildArray(numQueue, nums);
            Console.WriteLine();
            Console.WriteLine("第一遍按個位排序:");
            DisplayArray(nums);

            RSort(numQueue, nums, DigitType.tems);
            BuildArray(numQueue, nums);
            Console.WriteLine();
            Console.WriteLine("第2遍按十位排序:");
            DisplayArray(nums);
            Console.Read();
        }
        }
}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容