单链表操作之在当前节点前插入一个元素
来源:互联网 发布:淘宝消费者保证金冻结 编辑:程序博客网 时间:2024/05/05 08:51
***单链表操作之在当前节点前插入一个元素***
//在当前结点前插入一个元素,没有给头指针;
//定义的结点的结构体和头指针的结构体;
typedef int DataType;typedef struct LinkNode{DataType data;struct LinkNode* next;}LinkNode,*pLinkNode;//结点结构体typedef struct LinkList{LinkNode* pHead;//头结点指针}LinkList ,*pLinkList;//链表
//函数原型void InsertFrontNod(pLinkNode pos,DataType x);
// 思路分析:
/* 前面一篇文章讲的是删除一个非尾结点,紧接着这篇就是在当前前插入一个元素,也是没有告诉头指针;其实这两个问题的解法是类似的,删除非尾结点(注意: 是非尾结点),是把当前结点的后一个结点的data直接覆盖当前结点的data,然后释放后一个结点,而在当前结点前插入一个元素,也是只给了指向当前结点的指针,我们类似非尾指针做一下,首先,肯定要malloc一块新结点,如果你一直想的是怎么将newNode插到当前结点前的话,那就有点误区了,依然打它后一个位置的注意,我们将newNode插入到当前结点的后面,先将当前结点的data赋给newNode 的data,然后将当前结点的data赋为x, 不要着急创建newNode的时候就将x赋给了newNode,这样的话就省去再开辟一个临时变量;
代码实现如下:
*/
*/
void InsertFrontNod(pLinkNode pos,DataType x){pLinkNode newNode = (pLinkNode)malloc(sizeof(LinkNode));//为新节点开辟空间;pLinkNode tmp = NULL;if(newNode == NULL)//判断是否开辟成功;{printf("out of memory\n");exit(0);}if(pos == NULL)//如果么有当前结点,则返回;{printf("not search of this Node!\n");return ;}tmp = pos->next ;pos->next = newNode ;newNode ->next = tmp;//以上三行为将newNode插入到当前结点后;newNode ->data = pos->data ;pos->data = x;//以上两行为newNode的data和当前结点data的一个互换;}
相关文章:单链表操作之删除一个非尾结点
0 0
- 单链表操作之在当前节点前插入一个元素
- 使用insertBefore在节点前插入元素
- 在无头单链表的一个节点前插入一个节点
- C语言:【单链表】在无头单链表的一个非头节点前插入一个节点
- 元素操作中获取前一个元素节点或者后一个元素节点的兼容性写法
- 在无头单链表的一个非头节点前插入一个节点(C语言)
- 在无头单链表的一个非头节点前插入一个节点
- 在无头单链表的一个非头节点前插入一个节点
- 单向链表中,如何在给定节点前快速插入一个节点?
- 单向链表中,如何在给定节点前快速插入一个节点?
- 在已有的子节点前插入/删除一个新的子节点
- 【单链表经典面试题解析三】在无头单链表的一个非头节点前插入一个节点(要求不能遍历单链表)
- 单链表--在第i个位置前插入元素e
- (2)单链表的操作 ① 输入一组整型元素序列,使用尾插法建立一个带有头结点的单链表。 ② 实现该线性表的遍历。 ③ 在该单链表的第i个元素前插入一个整数。 ④ 删除该单链表中的第i个元素,其值通过参数
- 在jquery中获取前一个元素
- JS取得当前节点的前一个和后一个节点
- js 找出当前元素所包含的最后一个元素节点(不是文本节点)
- jQueryDom操作之内部插入节点
- 省赛后之将来发展
- 51nod 1305 Pairwise Sum and Divide
- 11.3.6节练习
- 【Linux】pkill命令--按照终端号踢出用户
- ObjectARX AutoCAD的数据库和实体结构(一)
- 单链表操作之在当前节点前插入一个元素
- 【Android】29、常见控件的使用方法——EditText
- alarmManager
- AngularJs ng-repeat重复项异常解决方案
- 训练中文分词HMM模型,得到A(状态转移矩阵)、B(混淆矩阵)、Pi(初始状态概率)
- linux串口编程 select
- ORA-22922: 不存在的 LOB 值
- git 创建、提交代码仓库,查看修改内容、撤销修改内容
- 350IntersectionofTwoArraysII