现在的位置: 首页 > 综合 > 正文

C# 中排序函数的总结

2018年04月26日 ⁄ 综合 ⁄ 共 1099字 ⁄ 字号 评论关闭

sort 函数对数组中的数据进行升序排序,,(其中,sort函数有很多重载的形式,这里不再一一的说明)

Reverse函数对数组中的数据进行降序排序,,

static void Main(string[] args)
        {      
            // sort ,Reverse 排序的应用举例
            int[] intArr = { 1,4,2,3,99,34,22,16,8,100};
            Console.WriteLine("原数组为:");
            for (int i = 0; i < intArr.Length; i++)
            {
                Console.Write(intArr.GetValue(i));
                Console.Write("  ");
            }
            Console.WriteLine();
            Array.Sort(intArr);   // 用来升序排序的函数;
            Console.WriteLine("升序排序后的数组为:");
            for (int i = 0; i < intArr.Length; i++)
            {
                Console.Write(intArr.GetValue(i));
                Console.Write("  ");
            }
            Console.WriteLine();
            Array.Reverse(intArr);   // 用来降序排序的函数;
            Console.WriteLine("降序排序后的数组为:");
            for (int i = 0; i < intArr.Length; i++)
            {
                Console.Write(intArr.GetValue(i));
                Console.Write("  ");
            }

如何把二个数组联系在一起进行排序操作呢? 例,在学生的信息中有学号和姓名,按学号输出学生的信息怎样实现???

 static void Main(string [] args)
        {
           int  [] arrStuNum=new []{1,5,4,2,3};
           string [] arrStuName=new []{"小小","小赵","小薇","丹丹","小于"};
           Console.WriteLine("排序前的学生信息为:");
           for(int i=0;i<arrStuNum.Length;i++)
           {
               Console.WriteLine("{0}({1})  ",arrStuName[i],arrStuNum[i]);
           }

           Console.WriteLine("排序后的学生信息为:");
           Array.Sort(arrStuNum,arrStuName);   // 注意: Reverse 没有这样的用法;
           for (int i = 0; i < arrStuNum.Length; i++)
           {
               Console.WriteLine("{0}({1})  ", arrStuName[i], arrStuNum[i]);
           }
            Console.Read();
        }

抱歉!评论已关闭.