C语言:【单链表】在无头单链表的一个非头节点前插入一个节点
来源:互联网 发布:java 生成jar包命令 编辑:程序博客网 时间:2024/05/16 11:43
#include<stdio.h>#include<assert.h>#include<stdlib.h>typedef int DataType;typedef struct SListNode{ DataType data; struct SListNode* next;}SListNode;SListNode* BuyNode(DataType x){ SListNode* next = (SListNode*)malloc(sizeof(SListNode)); next->data = x; next->next = NULL; return next;}void PushBack(SListNode* & ppHead, DataType x){ if (ppHead == NULL) { ppHead = BuyNode(x); } else { SListNode* tail = ppHead; while (tail->next != NULL) { tail = tail->next; } tail->next = BuyNode(x); }}void PrintSNodeList(SListNode* ppHead){ while (ppHead) { printf("%d->", ppHead->data); ppHead = ppHead->next; } printf("\n");}//在无头单链表的一个非头节点前插入一个节点void InsertFront(SListNode* & ppHead, SListNode* pos,DataType x){ assert(ppHead); SListNode* ppHeadName = ppHead; while (ppHeadName != pos) { ppHeadName = ppHeadName->next; } if (ppHeadName == NULL) { return; } SListNode* cur = BuyNode(x); cur->next = pos->next; pos->next = cur; cur->data = x; DataType tmp = cur->data; cur->data = pos->data; pos->data = tmp;}void Test3(){ SListNode* List = NULL; PushBack(List, 1); PushBack(List, 2); PushBack(List, 3); PushBack(List, 4); PushBack(List, 5); PrintSNodeList(List); InsertFront(List, List->next->next, 10); PrintSNodeList(List);}int main(){ Test3(); system("pause"); return 0;}
0 0
- C语言:【单链表】在无头单链表的一个非头节点前插入一个节点
- 在无头单链表的一个非头节点前插入一个节点(C语言)
- 在无头单链表的一个非头节点前插入一个节点
- 在无头单链表的一个非头节点前插入一个节点
- 【单链表经典面试题解析三】在无头单链表的一个非头节点前插入一个节点(要求不能遍历单链表)
- 在无头单链表的一个节点前插入一个节点
- C语言:【单链表】删除一个无头单链表的非尾节点
- 删除一个无头单链表的非尾节点(C语言)
- 单链表操作之在当前节点前插入一个元素
- 在已有的子节点前插入/删除一个新的子节点
- 单向链表中,如何在给定节点前快速插入一个节点?
- 单向链表中,如何在给定节点前快速插入一个节点?
- 删除一个无头单链表的非尾节点
- 删除一个无头单链表的非尾节点
- 删除一个无头单链表的非尾节点
- 删除一个无头单链表的非尾节点
- 编程实现一个单链表节点的插入
- 【链表面试题】删除无头单链表的非尾节点,插入一个元素到无头链表指定位置
- C语言:使用malloc开辟一个3*4的二维数组,并将内容初始化为1-12.
- jsonString 与bean互转
- C语言:单链表的实现(包括:尾插、尾删、头插、头删、指定位置插入、长度、打印)
- C语言:【单链表】删除一个无头单链表的非尾节点
- Android学习笔记02——EditText
- C语言:【单链表】在无头单链表的一个非头节点前插入一个节点
- C语言:【单链表】逆置反转单链表
- C语言:【单链表】查找单链表的中间节点,要求只能遍历一次
- C语言:【单链表】查找单链表的倒数第k个节点,要求只能遍历一次
- C++:复数类构造函数、拷贝构造、运算符重载、析构函数
- C++【面试题】:类实现万年历(日期计算器),(含构造函数、拷贝构造、运算符重载、析构函数)
- struts2中文件下载以及中文乱码
- C语言【顺序表】冒泡排序,一次选出最大最小的数据,二分查找,初始化顺序表
- C语言【顺序表】顺序表的初始化,头插,尾插,头删,尾删,增删查改,全删