急!!!c语言高手进!
1.实现一个一维数组在任意位置的插入和删除。2.创建一个单链表,将节点内容依次输出。可以插入新的节点,删除任意一个节点。3.使用单链表构造一个栈,可以实现出栈,入栈操作...
1.实现一个一维数组在任意位置的插入和删除。
2.创建一个单链表,将节点内容依次输出。可以插入新的节点,删除任意一个节点。
3.使用单链表构造一个栈,可以实现出栈,入栈操作 展开
2.创建一个单链表,将节点内容依次输出。可以插入新的节点,删除任意一个节点。
3.使用单链表构造一个栈,可以实现出栈,入栈操作 展开
2个回答
展开全部
第一个很简单,就是实现数组的移动而已
也就是任意位置后面的数据前移一个位置或者后移一个位置的算法
这个就是循环而已
这个两个方式,一个是在原来的基础上做
插入的话,从数组后面开始循环后移,直到插入的地方插入
删除直接冲那个位置用后面的数据覆盖即可
第二个是用新的数组,复制的插入位置,插入后,再把后面的复制过去
第二个也不是很难,链表那里有建立链表的固定格式,套用即可
插入新节点,其实就是把新的节点的指针赋值给他的插入的位置的那个节点的next,让新的节点的next指向后面的那个节点即可
如p是新的节点,q是插入的位置的前面那个节点的指针
让p->next=q->next,这样新节和后面的链接起来
接着让q->next=p,这样新节点和前面链接起来
第三个
入栈出栈其实就是一个指针的操作最好用双链表,入栈简单,就是建立一个新的节点
但是出栈,需要上一个节点的指针,这个比较难获得
要是单链表,那么只能充head头部开始
判断p->next->next是否是NULL,计算了要大一些
也就是任意位置后面的数据前移一个位置或者后移一个位置的算法
这个就是循环而已
这个两个方式,一个是在原来的基础上做
插入的话,从数组后面开始循环后移,直到插入的地方插入
删除直接冲那个位置用后面的数据覆盖即可
第二个是用新的数组,复制的插入位置,插入后,再把后面的复制过去
第二个也不是很难,链表那里有建立链表的固定格式,套用即可
插入新节点,其实就是把新的节点的指针赋值给他的插入的位置的那个节点的next,让新的节点的next指向后面的那个节点即可
如p是新的节点,q是插入的位置的前面那个节点的指针
让p->next=q->next,这样新节和后面的链接起来
接着让q->next=p,这样新节点和前面链接起来
第三个
入栈出栈其实就是一个指针的操作最好用双链表,入栈简单,就是建立一个新的节点
但是出栈,需要上一个节点的指针,这个比较难获得
要是单链表,那么只能充head头部开始
判断p->next->next是否是NULL,计算了要大一些
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询