C#中的委托版的冒泡排序
来源:互联网 发布:云计算与大数据工程师 编辑:程序博客网 时间:2024/05/18 04:38
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace 委托
- {
- class 委托排序
- {
- private delegate bool EqualsMyContent(Object lobj, Object robj);
- static void Main(string[] args)
- {
- Person[] pers = new Person[] { new Person( "aladdin" , 20 ) , new Person( "fuck" , 99 ) , new Person( "zhao" , 12 ) , new Person( "ok" , 80 ) };
- int[] mynums = new int[] { 12, 11, 4, 2, 44, 32, 343, 43, 323, 23 };
- EqualsMyContent mydel = new EqualsMyContent( MyProcces.EqualsObj);
- for (int i = 0; i < pers.Length; i++)
- {
- for (int j = i + 1; j < pers.Length; j++)
- {
- if (mydel(pers[i], pers[j]))
- {
- Person temp = pers[i];
- pers[i] = pers[j];
- pers[j] = temp;
- }
- }
- }
- for (int i = 0; i < pers.Length; i++)
- {
- Console.WriteLine(pers[i]);
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Console.ReadLine();
- }
- }
- class MyProcces
- {
- public static bool EqualsObj(Object obj, Object obj2)
- {
- Person p1 = (Person)obj;
- Person p2 = (Person)obj2;
- if (p1.Age > p2.Age)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- class Person
- {
- private string name;
- private int age;
- public Person( string name , int age )
- {
- this.Age = age;
- this.Name = name;
- }
- public string Name
- {
- get
- {
- return this.name;
- }
- set
- {
- this.name = value;
- }
- }
- public int Age
- {
- get
- {
- return this.age;
- }
- set
- {
- this.age = value;
- }
- }
- public override string ToString()
- {
- return string.Format("姓名:{0} 年纪:{1}", this.Name , this.Age );
- }
- }
- }