第一个很简单,就是实现数组的移动而已
也就是任意位置后面的数据前移一个位置或者后移一个位置的算法
这个就是循环而已
这个两个方式,一个是在原来的基础上做
插入的话,从数组后面开始循环后移,直到插入的地方插入
删除直接冲那个位置用后面的数据覆盖即可
第二个是用新的数组,复制的插入位置,插入后,再把后面的复制过去
第二个也不是很难,链表那里有建立链表的固定格式,套用即可
插入新节点,其实就是把新的节点的指针赋值给他的插入的位置的那个节点的next,让新的节点的next指向后面的那个节点即可
如p是新的节点,q是插入的位置的前面那个节点的指针
让p->next=q->next,这样新节和后面的链接起来
接着让q->next=p,这样新节点和前面链接起来
第三个
入栈出栈其实就是一个指针的操作最好用双链表,入栈简单,就是建立一个新的节点
但是出栈,需要上一个节点的指针,这个比较难获得
要是单链表,那么只能充head头部开始
判断p->next->next是否是NULL,计算了要大一些
如果解答这样题的人是高手,估计世上就不会再有高手了,代码太多,你可以看你数据结构的书,上面的肯定有这3个试例。