课堂笔记及知识点----栈和队列(2018/10/24(am))

栈:

Stack<int>  xt=new Stack<int>() ; 先进后出,后进先出,水杯结构,顺序表类似

常用方法:   .pop---->出栈,弹栈

                   .Push---->压栈,进栈

                   .peek---->获取栈顶元素

                   .toArry---->转化数组,遍历      int[] ints= stack.ToArray();   Console.WriteLine(ints[0]);   输出的是栈顶元素,因为先进后出,后进先出;

队列:

Queue<int> queue = new Queue<int>(); 先进先出,后进后出,水管结构,顺序表类似

常用方法:   .Dequeue---->移出队头

                   .Enqueue---->进入队列

                   .peek---->获取队头元素

                   .toArry---->转化数组,遍历 

笔记:

1).顺序表节省空间;链表浪费空间,但链表方便于删除和增加,能有效利用空间

2).泛型简化

Action        无参泛型,无返回值

Action<>    有参泛型,无返回值

Func<>       有参泛型,有返回值 若参数只有一个,那这个参数就是返回类型,若多个,最后一个参数为返回类型

3).顺序表就是一个数组!!! 只不过数组是被限制的 顺序表是内存地址连续的, 顺序表方便 查询 追加 遍历 ,不适合做删除和插入, 因为会频繁的进行赋值操作 ,顺序表有长度限制 

4).链表是由一个个Node组成的, Node里面有两个元素 (data)和(Node的下一个地址) 当Node的.Next为Null的时候,链表到尾部 ,链表是没有长度限制的  ,链表要时刻注意别断链,便于删除和插入

5).链表分为两种{带头链表和不带头的链表 一般都采用带头的 方便管理 }

     若将一个数据逆置就采用在头部插入的方式 exp index = 0   头插法  为逆序

     若要链表数据和输入数据一致就在用尾部插入法 exp index  = length  尾插法  为正序

6).栈和队列都是特殊的线性表(受限线 性表)

    顺序栈 顺序队列 原型是顺表
    链栈 链队列 原型就是链表

 

原文地址:https://www.cnblogs.com/Future-Better/p/9842870.html