zoukankan      html  css  js  c++  java
  • C#调用泛型冒泡实现学生类排序IComparable

    		
            static void Main (string[] args)
            {
            	//传入一个学生集合
                Stu[] s = new Stu[]
                {
                    new Stu{ ID = 1,Name = "张三",Age = 19 },
                    new Stu{ ID = 2,Name = "李四",Age = 20 },
                    new Stu{ ID = 3,Name = "王五",Age = 18 }
    
                };
    			//调用泛型冒泡排序
                var n = sort<Stu>(s);
    			//遍历输出排序后的学生姓名
                foreach (var item in n)
                {
                    Console.WriteLine(item.Name); 
                }
    
                Console.ReadKey();
            }
    
            //泛型数组 冒泡排序
            static T[] sort<T>(T[] x) where T:IComparable<T>
            {
                T b = default(T);
                for (int i = 0; i < x.Length-1; i++)
                {
                    for (int j = 0; j < x.Length-i-1; j++)
                    {
                        if (x[j].CompareTo(x[j+1])<0)
                        {
                            b = x[j];
                            x[j] = x[j + 1];
                            x[j + 1] = b;
                        }
                    }
                }
                return x;
            }
    		//继承接口
            public class Stu:IComparable<Stu>
            {
                public int ID { get; set; }
                public string Name { get; set; }
                public int Age { get; set; }
    
                public int CompareTo(Stu other)
                {
                	//根据年龄来排序
                    return this.Age.CompareTo(other.Age);
                }
            }
    
  • 相关阅读:
    java实现同步的两种方式
    JAVA线程概念
    XML基础总结
    JAVA使用和操作properties文件
    JAVA序列化基础知识
    easyui 在编辑状态下,动态修改其他列值。
    Activiti初学问题,求解
    java web--DOM
    java web(1)
    Java WEB
  • 原文地址:https://www.cnblogs.com/xuxueming/p/11913705.html
Copyright © 2011-2022 走看看