数据结构

Posted w1-y2-q5

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构相关的知识,希望对你有一定的参考价值。

Array/ArrayList/List/LinkedList/Queue/Stack/HastSet/SortedSet/Hashtable/SortedList/Dictionary/SortedDictionary

数组(在内存上连续分配,读取快,增删改慢,可坐标访问)

一:Array-----在内存上连续分配的,而且元素类型是一样的,可以坐标访问,读取快,增删改慢,长度不变

二:ArrayList------不定长度,连续分配的,元素没有类型限制,任何元素都是当作 object处理,如果是值类型会有装箱操作,索引赋值不会增加长度会出错

三:List-------核心本质也是Array,内存上都是连续摆放不定长的(连续摆放的都可以用索引访问),泛型(保证类型安全避免装箱拆箱)

链表(元素不连续分配每个元素都有记录前后节点)

四:LinkedList--------泛型的特点,元素不连续分配,每个元素都有记录前后节点,不能下标访问,找元素就只能遍历,查找不方便,增删方便

LinkedList<int> linkedList = new LinkedList<int>();
//linkedList[3]  不可下标访问
linkedList.AddFirst(123);   添加方式
linkedList.AddLast(456);

bool isContain = linkedList.Contains(123);
LinkedListNode<int> node123 = linkedList.Find(123); //元素123的位置 从头查找
linkedList.AddBefore(node123, 123); 
linkedList.AddAfter(node123, 9);

linkedList.Remove(456);
linkedList.Remove(node123);
linkedList.RemoveFirst();
linkedList.RemoveLast();
linkedList.Clear();

五:Queue------先进先出,可用来放任务延迟执行(A不断写入B不断获取)

     1:Dequeue方法是移除,Peek方法不移除

六:Stack-------先进后出

 

以上是关于数据结构的主要内容,如果未能解决你的问题,请参考以下文章

在数据结构中数据、数据元素、数据对象、数据结构、存储结构、数据类型以及抽象数据类型的定义分别是啥

数据结构与数据类型有啥区别?

数据结构都有哪些

数据结构和数据类型的区别

数据结构哪些是四种常见的逻辑结构

数据结构基本概念