冒泡排序的拓展方法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace 冒泡排序的重复记忆
{
    class Employee
    {
        public string Name { get; private set; }
        public int Salary { get; private set; }
        public Employee(string name,int salary){
            this.Name = name;
            this.Salary = salary;
            }
        public static bool Compare(Employee e1,Employee e2)
        {
            if (e1.Salary > e2.Salary) return true;
            return false;
        }
    }

}



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace 冒泡排序的重复记忆
{
    class Program
    {
        static void CommonSort<T>(T[]sortArray,Func<T,T,bool> co)
        {
            bool swapped = true;
            do
            {
                swapped = false;
                for (int i = 0; i < sortArray.Length - 1; i++)
                {
                    if (co(sortArray[i] ,sortArray[i + 1]))
                    {
                        T temp = sortArray[i];
                        sortArray[i] = sortArray[i + 1];
                        sortArray[i + 1] = temp;
                        swapped = true;
                    }
                }
            } while (swapped);


        }
        static void Main(string[] args)
        {
        }
    }

}

通过委托实现泛型类的冒泡排序。

视频见哔哩哔哩siki老师的c#编程 高级篇《拓展的通用的冒泡排序方法》

猜你喜欢

转载自blog.csdn.net/bamboo_yayaya/article/details/79820658