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

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

比如:有这个一个数组,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
 
时间: 2024-11-05 22:53:26

数组排序,输出最终数组的排名的相关文章

c#例题:输入学生的学号,姓名,分数,然后根据分数进行排序再输出最终结果。重点学习用结构体定义数组的表达方式

class Program { struct student //定义一个结构体 { public int code; public string name; public int fenshu; } static void Main(string[] args) { Console.Write("请输入人数:"); int renshu = Convert.ToInt32(Console .ReadLine ()); student[] r = new student[renshu]

hdu 4902 Nice boat(线段树区间修改,输出最终序列)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4902 Problem Description There is an old country and the king fell in love with a devil. The devil always asks the king to do some crazy things. Although the king used to be wise and beloved by his peopl

javascript 常见数组操作( 1、数组整体元素修改 2、 数组筛选 3、jquery 元素转数组 4、获取两个数组中相同部分或者不同部分 5、数组去重并倒序排序 6、数组排序 7、数组截取slice 8、数组插入、删除splice(需明确位置) 9、数组遍历 10、jQuery根据元素值删除数组元素的方)

主要内容: 1.数组整体元素修改 2. 数组筛选 3.jquery 元素转数组 4.获取两个数组中相同部分或者不同部分 5.数组去重并倒序排序 6.数组排序 7.数组截取slice 8.数组插入.删除splice(需明确位置) 9.数组遍历 10.jQuery根据元素值删除数组元素的方法 数组常见操作包含了 增.删.查.改.插入.交集.并集 1.数组整体元素修改 //map,给数组每个元素加1 输出[1,2,3] $.map([0,1,2],function(n){ return n+1; })

输出 一维数组中最大的数+数组遍历

1 //将数组中最大的数输出 2 //数组遍历 3 int[] arr = new int[]{2,4,1,6,10,11}; 4 System.out.println("输出一维数组 :"); 5 for(int i=0; i<arr.length;i++) 6 { 7 System.out.print(arr[i]+" "); 8 } 9 10 System.out.println(); 11 12 int max = arr[0]; 13 for(int

php输出json数组和json

function getCitys(){ $provinceid=trim($_REQUEST['province']); $citylist=M('city')->field('cityid,cityname')->where('provinceid ='.$provinceid)->select();         //这个方法输出json数组 //echo json_encode($citylist); $temp='{'; for ($i=0;$i<count($city

模板输出的数组中增加三元运算符来判断

得出一个好用的判断方法,在模板输出的数组中增加三元运算符来判断,挺方便的.当然你也可以用Ajax~ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题</title> </head> <body> 我的口号是什么?——><{$data[

c语言:输出一个数组,判断是否存在问题,若有,请找出问题并改正

输出一个数组,判断是否存在问题,若有,请找出问题并改正 程序: #include <stdio.h> int main() { int i, a[5] ; for (i = 0; i <=5; i++) { a[i] = 0; } for (i = 0; i <5; i++) { printf("%d\n", a[i]); } return 0; } 结果:出现崩溃 分析:循环的次数超过了数组长度 改正后程序: #include <stdio.h>

[经典面试题]输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。

[题目] 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个排好序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1. [分析] 这道题最直观的解法并不难.从头到尾遍历数组一次,就能找出最小的元素,时间复杂度显然是O(N).但这个思路没有利用输入数组的特性,我们应该能找到更好的解法. 我们注意到旋转之后的数组实际上可以划分为两个排序的子数组,而且前面的子数组的元素都大于或者等于后面

【c语言】输入一个递增排序的数组的一个旋转,输出旋转数组中的最小元素

//旋转数组的最小数字 //题目:把一个数组最開始的若干个元素搬到数组的末尾.我们称之为数组的旋转. //输入一个递增排序的数组的一个旋转.输出旋转数组中的最小元素. //比如:数组{3.4,5,1,2}为{1,2.3.4.5}的一个旋转,最小元素是1. #include <stdio.h> #include <assert.h> int min_equ(int *src, int left, int right) { int i = 0; int ret = src[left];