使用指针操作列表时,
2015-07-02 19:54
281 查看
比方在插入有序链表的过程中。普通情况下要使用俩指针来遍历,而后还要推断是否在第一个位置插入;利用指针的指针后不须要另外考虑这样的特殊情况。
代码:
下一步看hlist中对应的这样的思想。
代码:
#include <stdio.h> #include <stdlib.h> struct node{ int data; struct node *next; } *head; //sorted link-list void insert(struct node *new_node){ struct node *cur = head, *pre = NULL; while(cur != NULL && cur->data < new_node->data){ pre = cur; cur = cur->next; } new_node->next = cur; if(pre == NULL) head = new_node; else pre->next = new_node; } //use pointer to pointer can make things easier void insert2(struct node *new_node){ struct node **linkp = &head; while(*linkp !=NULL && (*linkp)->data < new_node->data){ linkp = &(*linkp)->next; } new_node->next = *linkp; *linkp = new_node; } void show(){ struct node *p = head; while(p){ printf("%d , ", p->data); p = p->next; } } int main(){ int i; struct node ns[] = { {80, NULL}, {8, NULL}, {1, NULL}, {10, NULL}, }; for(i = 0; i < 4; i++){ insert2(&ns[i]); } show(); return 0; }
下一步看hlist中对应的这样的思想。
相关文章推荐
- poj2298-Toy Storage-判断点在直线的哪侧
- DL4NLP---第三讲
- jquery基础-包裹 替换 删除 复制
- Nginx打开目录浏览功能(autoindex)
- Search Insert Position
- 设计模式之单例模式
- sublime开发插件-初尝
- 九度oj 题目1174:查找第K小数(sort的使用)
- Websphere中Node(节点) Profile(概要文件)和Server(应用程序服务器实例)的区别
- 大数据之storm入门
- 详解在visual studio中使用git版本系统(图文)
- uCGUI 按键切换对话框内子控件焦点
- Android中创建快捷方式
- 背景音乐功能
- FP所渗透的范畴论
- 查找linux系统下的端口被占用进程的两种方法
- samba 挂载windows共享文件夹
- JSTL标签 参考手册
- Git常用命令
- C++程序设计之四书五经[转自2004程序员杂志]--上篇