码迷,mamicode.com
首页 > 编程语言 > 详细

数组排序,输出最终数组的排名

时间:2015-09-09 17:17:38      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

最近做项目中,要用到数组的排序,并最终输出数组的排序序号,小小试了一下。

比如:有这个一个数组,5, 6, 4, 2, 8, 0, 2, 8, 6, 2 

      要求输出这个数组排名数组(可多重复性):即3,2,4,5,1,6,5,1,2,5,至于为什么是这个就不多说。

下面是代码实现:

 static void Main(string[] args)
        {
            int[] iArrary = new int[] { 5, 6, 4, 2, 8, 0, 2, 8, 6, 2 };//8 8 6 6 5 4 2 2 2 0   8 6 5 4 2 0   3,2,4,5,1,6,5,1,2,5
            int[] ar = new int[] { 5, 6, 4, 2, 8, 0, 2, 8, 6, 2 };
            int[] list = Sort(iArrary).Distinct<int>().ToArray();//从大到小排序之后,去重
            for (int i = 0; i < ar.Length; i++)
            {
                for (int j = 0; j < list.Length; j++)
                {
                    if (ar[i] == list[j])
                    {
                        Console.Write(j + 1 + ",");
                    }
                }
            }
            Console.ReadKey();
        }
下面是排序的方法;(大到小排序):
        #region 排序的方法
        public static int[] Sort(int[] list)
        {
            for (int i = 0; i < list.Length - 1; i++)//控制比较的回数
            {
                for (int j = 0; j < list.Length - 1 - i; j++)
                {
                    if (list[j] < list[j + 1])
                    {
                        int temp = list[j];
                        list[j] = list[j + 1];
                        list[j + 1] = temp;
                    }
                }
            }
            return list;
        }
        #endregion

 

排序结果:8 8 6 6 5 4 2 2 2 0
输出结果:3,2,4,5,1,6,5,1,2,5
 

数组排序,输出最终数组的排名

标签:

原文地址:http://www.cnblogs.com/Yunshine-sina/p/4795245.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!