zoukankan      html  css  js  c++  java
  • 委托结合泛型实现的冒泡排序算法

     1 class Program
     2     {
     3         static void Main(string[] args)
     4         {
     5             Employee[] employees =
     6             {
     7             new Employee("Bugs Bunny"20000),
     8             new Employee("Elmer Fudd"10000),
     9             new Employee("Daffy Duck"25000),
    10             new Employee("Wile Coyote"1000000.38m),
    11             new Employee("Foghorn Leghorn"23000),
    12             new Employee("RoadRunner"50000)
    13             };
    14             BubbleSorter.Sort(employees, Employee.CompareSalary);
    15             foreach (var employee in employees)
    16             {
    17                 Console.WriteLine(employee);
    18             }
    19             Console.ReadLine();
    20         }
    21     }
    22 
    23     class BubbleSorter
    24     {
    25         static public void Sort<T>(IList<T> sortArray, Func<T, T, bool> comparison)
    26         {
    27             bool swapped = true;
    28             do
    29             {
    30                 swapped = false;
    31                 for (int i = 0; i < sortArray.Count - 1; i++)
    32                 {
    33                     if (comparison(sortArray[i + 1], sortArray[i]))
    34                     {
    35                         T temp = sortArray[i];
    36                         sortArray[i] = sortArray[i + 1];
    37                         sortArray[i + 1= temp;
    38                         swapped = true;
    39                     }
    40                 }
    41             } while (swapped);
    42         }
    43     }
    44 
    45     class Employee
    46     {
    47         public Employee(string name, decimal salary)
    48         {
    49             this.Name = name;
    50             this.Salary = salary;
    51         }
    52         public string Name { getprivate set; }
    53         public decimal Salary { getprivate set; }
    54         public override string ToString()
    55         {
    56             return string.Format("{0}, {1:C}", Name, Salary);
    57         }
    58         public static bool CompareSalary(Employee e1, Employee e2)
    59         {
    60             return e1.Salary < e2.Salary;
    61         }
    62     }
  • 相关阅读:
    Excel中输入身份证后3位变成0,怎么办?
    Css中如何使英文和拼音变成全大写、全小写和首字母大写?
    css中 font常用的样式属性
    Css的向左浮动、先右浮动、绝对定位、相对定位的简单使用
    如何解决Css属性text-overflow:ellipsis 不起作用(文本溢出显示省略号)
    mysql 基本语法学习1(数据库、数据表、数据列的操作)
    sql server中如何将两个字段数据合并成一个字段显示(字段与字段添加特殊符号)
    Linq to Entity 求最大小值Max/Min返回null的处理方法
    C#匿名对象在其它方法体内怎么取到相应的值(不想建立对应的类并转化的情况下)?
    【转发】JQuery中操作Css样式的方法
  • 原文地址:https://www.cnblogs.com/Jayan/p/1755712.html
Copyright © 2011-2022 走看看