zoukankan      html  css  js  c++  java
  • C# 委托实现冒泡排序

    委托实现员工根据工资升序排列

    首先定义员工类

     1  class Employee
     2     {
     3         public string Name { get; private set; }
     4         public decimal Salary { get; private set; }
     5 
     6         public Employee(string name, decimal salary)
     7         {
     8             this.Name = name; this.Salary = salary;
     9         }
    10 
    11         public override string ToString()
    12         {
    13             return string.Format("{0},{1:C}",Name,Salary);
    14         }
    15         public static bool CompareSalary(Employee e1,Employee e2)
    16         {
    17             return e1.Salary < e2.Salary;
    18         }
    19     }

    重写sort方法

     1  class BubbleSorter
     2     {
     3         public static void Sort<T>(IList<T> sortArray, Func<T, T, bool> comparison)
     4         {
     5             bool swapped = true;
     6             do
     7             {
     8                 swapped = false;
     9                 for (int i = 0; i < sortArray.Count - 1; i++)
    10                 {
    11                     if (comparison(sortArray[i + 1], sortArray[i]))
    12                     {
    13                         T temp = sortArray[i];
    14                         sortArray[i] = sortArray[i + 1];
    15                         sortArray[i + 1] = temp;
    16                         swapped = true;
    17                     }
    18                 }
    19             } while (swapped);
    20 
    21 
    22         }
    23     }

    调用 方法实现排序

     1 Employee[] employees =
     2       {
     3         new Employee("Bugs Bunny", 20000),
     4         new Employee("Elmer Fudd", 10000),
     5         new Employee("Daffy Duck", 25000),
     6         new Employee("Wile Coyote", 1000000.38m),
     7         new Employee("Foghorn Leghorn", 23000),
     8         new Employee("RoadRunner", 50000)
     9       };
    10 
    11             BubbleSorter.Sort(employees, Employee.CompareSalary);
    12 
    13             foreach (var employee in employees)
    14             {
    15                 Console.WriteLine(employee);
    16             }
  • 相关阅读:
    Tarjan算法
    10JS数组
    9JS循环
    8.JS流程控制
    7.JS运算符
    6.JS方法
    5.JS变量的各种问题
    java封装遇到的问题
    js报Uncaught SyntaxError: Unexpected token <错误 解决方法:
    使用layui出现Uncaught ReferenceError: layui is not defined问题解决:
  • 原文地址:https://www.cnblogs.com/farmer-y/p/5957131.html
Copyright © 2011-2022 走看看