感觉单链表是实现BCL ICollection 的最佳方式,所有操作都能以最小的时间复杂度完成
2020年2月10日更新 当我胡说八道,List是最好的
public interface ICollection<T> : IEnumerable<T>, IEnumerable { int Count { get; }//通过跟踪数量可以实现O(1) bool IsReadOnly { get; }//O(1) void Add(T item);//记录尾元素实现O(1) void Clear();//清除首尾元素O(1) bool Contains(T item);//O(N) void CopyTo(T[] array, int arrayIndex);//O(N) bool Remove(T item);//这个本来最小就只能O(N)
IEnumerator<T> GetEnumerator();
//这个没啥可说的
}
双链表增大了空间复杂度,我觉得不好