基础一 基础知识总结
参考:https://www.cnblogs.com/edisonchou/p/the_way_to_fullstack_dotnet_programmer.html
一,一种结构
线性表部分
- 线性表定义:零个或多个数据元素的有限序列
- 线性表按照存储结构的方式分为 顺序表 和 链表
- 顺序表:【用一块地址连续的存储空间依次存储线性表中的数据元素】由此可以看出:在顺序表中,逻辑上相邻的元素在物理上也是相邻的。
- 链表:链表中逻辑上相邻的元素在物理上可以不相邻。
顺序表
- 数组:一旦声明大小将无法改变
- 动态数组ArrayList,但是 net2.0后使用 List<T> 来代替,避免了大量的装箱拆箱动作
- 动态数组 可以方便的插入和删除某个元素,但是会导致插入或者删除的数组之后的元素整个移动,这时候可以使用链表
链表
- 链表就是由N个节点链接而成的线性表,如果其中每个节点只包含一个指针域那么就称为单链表,如果含有两个指针域那么就称为双链表。
- 链表比顺序表的优点,方便插入,删除操作(只需要修改指针的指向,不需要对整个数组重新排列)