设计一个自定义的集合类。要求:此类可以灵活的进行添加、删除、求最大最小元素、排序等操作。要求对元素的类型不能限定,并且高效安全。要求从windows界面上接收数据,并且能将相关输出结果显示在界面上。操作环境VS2010

解决方案 »

  1.   

    貌似List加上扩展方法就可以实现这些功能了哦
      

  2.   


    1. 继承 List<T>
    2. 新建方法:
       RemoveMaxItem()
       RemoveMinItem()
    3. 实现方法:
    public void RemoveMaxItems()
    {
        this.RemoveAll(e => e.Equals(this.Max()));
    }
    public void RemoveMinItems()
    {
        this.RemoveAll(e => e.Equals(this.Min()));
    }
    4. 测试:
    MyList<int> list = new MyList<int> { 11, 2, 2, 2, 5, 6, 7, 8, 9, 10, 11 };
    Console.WriteLine(String.Join<int>(" - ", list));
    list.RemoveMaxItems();
    Console.WriteLine(String.Join<int>(" - ", list));
    list.RemoveMinItems();
    Console.WriteLine(String.Join<int>(" - ", list));
      

  3.   


    public class MyList<T> : List<T>
    {
        public void RemoveMaxItems()
        {
            this.RemoveAll(e => e.Equals(this.Max()));
        }
        public void RemoveMinItems()
        {
            this.RemoveAll(e => e.Equals(this.Min()));
        }
    }
      

  4.   

    ?????SortedList<T> LinkedList<T>其实lz是把要求给混在一块说了,接收数据是接收数据,显示到界面是显示到界面,排序是排序,求最大值是求最大值做为列表容器,本身就不应该有其他功能。功能操作应该是管理类的事情。ps:一般来说List<T>就够用了,如果是winform的话BindingList<T>更和用