zoukankan      html  css  js  c++  java
  • 使类支持排序

      1using System;
      2using System.Collections.Generic;
      3using System.Text;
      4using System.Collections;
      5
      6namespace ConsoleApplication1
      7{
      8    /// <summary>
      9    /// 继承IComparable接口,使类可以支持排序,排序的算法在Array类中
     10    /// </summary>

     11    public class Student : IComparable 
     12    {
     13        private string m_Name;
     14        private int m_Score;
     15
     16        public Student() { }
     17
     18        public Student(string name, int score) 
     19        {
     20            this.m_Name = name;
     21            this.m_Score = score;
     22        }

     23
     24        public string Name
     25        {
     26            get return m_Name; }
     27            set { m_Name = value; }
     28        }

     29
     30        public int Score
     31        {
     32            get return m_Score; }
     33            set { m_Score = value; }
     34        }

     35
     36        IComparable 成员
     65      
     66    }

     67
     68    public class StudentSortByName :  IComparer 
     69    {
     70
     71        IComparer 成员
     91    }

     92
     93    class Program
     94    {
     95        static void Main(string[] args)
     96        {
     97            Student[] students = new Student[10];
     98            Random rd = new Random();
     99            for (int i = 0; i < 10; i++
    100            {
    101                students[i] = new Student("Student" + i.ToString(), rd.Next(100));
    102            }

    103            Console.WriteLine("分数从小到大排序");
    104            Array.Sort(students);
    105            ShowStudents(students);
    106
    107            Console.WriteLine("分数从大到小排序");
    108            Array.Reverse(students);
    109            ShowStudents(students);
    110
    111            Console.WriteLine("以学生名称排序");
    112            Array.Sort(students, new StudentSortByName());
    113            ShowStudents(students);
    114            Console.ReadLine();
    115
    116
    117        }

    118
    119        private static void ShowStudents(Student[] students)
    120        {
    121            foreach (Student s in students)
    122            {
    123                Console.WriteLine("Name :" + s.Name + " Score :" + s.Score.ToString());
    124            }

    125        }

    126    }

    127}

    128
  • 相关阅读:
    js基本
    js循环语句
    常用的css
    Linux使用host-only的方式上网
    Struts2的文件上传及错误国际化显示
    ThinkPHP3.2.2 大写子母的用法及含义
    php中验证码不显示问题
    AOP中的ASPECTJ
    CGLIB和JDK代理
    mavne的创建
  • 原文地址:https://www.cnblogs.com/ghx88/p/879302.html
Copyright © 2011-2022 走看看