链表模板(中间插入)
来源:互联网 发布:ps4网络设置 编辑:程序博客网 时间:2024/06/07 22:07
#include<stdio.h>struct node{ int num; struct node *next;};typedef struct node Node;typedef Node * Link;void init_link(Link *head){ *head = NULL;}void insert_head_node(Link newnode,Link *head){ newnode->next = *head; *head = newnode;}void insert_tail_node(Link newnode,Link *head){ if(*head == NULL) { newnode->next = NULL;*head = newnode; } else { Link temp = *head;while(temp->next != NULL){ temp = temp->next;}temp->next = newnode;newnode->next = NULL; }}int insert_mid_node(Link newnode, Link *head, int num){ if(*head == NULL) { return -1; } Link temp = *head; while(temp != NULL) { if(temp->num == num){ newnode->next = temp->next; temp->next = newnode; return 0;}temp = temp->next; } return -1;}void display_link(Link head){ Link temp = head; while(temp != NULL) { printf("%d\n",temp->num);temp = temp->next; }}int main(){ Link head; Link newnode; int i; init_link(&head); if(head == NULL) { printf("head is NULL!\n"); } for(i = 0; i < 10; i++) { newnode = (Link)malloc(sizeof(Node));newnode->num = i+1;//insert_head_node(newnode,&head);insert_tail_node(newnode,&head); } display_link(head);//(遍历这个链表检查是否插入成功) newnode = (Link)malloc(sizeof(Node)); newnode->num = 11; insert_mid_node(newnode,&head,5); display_link(head); return 0;}
0 0
- 链表模板(中间插入)
- 链表中间插入
- 链表之中间插入
- 基本中间插入式单向链表
- 链表(15)----给定链表中间某个节点,将待插入节点插入给定节点之前
- 链表的插入(头插,尾插,中间插)
- 在表中间插入列名
- 算法研究之——链表的一些操作(创建、打印,在头部、中间、尾部插入节点)
- 带模板双向链表插入
- 初始化链表,插入删除节点,遍历链表,链表长度,找出中间节点
- 双向链表容器list的头部、尾部、中间的插入
- 单向循环链表,头插,尾插,中间插入,删除等功能
- 链表中间删除
- 2016年12月21日学习总结----单向循环链表操作程序(头插,尾插,中间插入,删除,逆序)
- 2016年12月23日学习总结----双向循环链表操作程序(头插、尾插、中间插入、删除)
- 线性表(插入/清除数据/快慢指针查找中间数据)
- MyBatis 多对多 中间表插入数据
- QR二维码生成器源码(中间可插入小图片)
- Ubuntu下使用Vi是方向键变乱码 退格键不能使用的解决方法
- git常用命令教程
- TensorFlow使用技巧
- swift单例模式一句话实现
- c# lock用法
- 链表模板(中间插入)
- 指针
- ExtJS学习笔记
- Android ORMLite数据库详解
- Unity3D Vector3.Dot 点乘 与 Vector3.Cross 叉乘
- Mybatis环境配置
- CODEVS 1225 八数码难题(BFS && A*)
- 28. Implement strStr()
- ORALCE优化