有序单链表的插入 C语言实现
2013-10-27 19:58
302 查看
C语言实现的有序单链表的插入(由小到大排列
其中 link 是指向根节点 root 的指针,根节点root是指向第一个节点的指针。
"sll_node.h" typedef struct NODE{ struct NODE *link; int value; } Node; #include <stdlib.h> #include <stdio.h> #include "sll_node" #define FALSE 0 #defien TRUE 1 int sll_insert(register Node **linkp , int new_value) { register Node *current; register Node *newnode; /* **寻找插入位置 */ while( (current = *linkp) != NULL && current->value < new_value) linkp = ¤t->link; /* ** 为新节点分配内存,如果分配失败则返回FALSE */ newnode = (Node *)malloc( sizeof( Node )); if( newnode == NULL) return FALSE; newnode->value = new_value; /* **将新节点插入链表中 */ newnode->link = current; *linkp = newnode; return TRUE; }
其中 link 是指向根节点 root 的指针,根节点root是指向第一个节点的指针。
相关文章推荐
- C语言实现有序单链表的插入
- 有序双向链表的插入 C语言实现
- c语言:顺序表的实现(三)将元素e插入到一个递减有序表中,不改变顺序表的递减有序性。
- C语言实现单链表的节点插入(带头结点)
- C语言实现单链表的创建、插入、删除
- c语言实现单链表的操作:创建,删除,插入,反转, 排序等
- 有序插入建立链表 C语言实现
- (线性)单链表的C语言实现--保持有序
- 链表的基本操作(创建,查找指定位置元素,删除指定元素,插入,倒置,去重,求集合的差,分别交换结点与交换结点值实现的冒泡排序,将两个有序链表合并成一个有序链表)c语言实现
- 单向链表之有序插入节点(C语言实现)
- C语言 有序双链表实现插入、删除、打印(正反)等简单操作
- 从键盘读入n个整数(升序),请编写算法实现: 建立带表头结点的单链表; 显示单链表,(形如:H->10->20->30->40); 在有序单链表中插入新的数据元素x; 将单链表就地逆
- PAT Basic 1035. 插入与归并(25)(C语言实现)
- c语言在有序数组中插入一个数,使之依然有序
- 单链表的插入和删除 C++实现
- 【数据结构】C语言实现链表节点的插入和删除
- 单链表实现多项式的相乘-c语言
- C语言数据结构——数据结构有序二叉树的函数实现
- C语言实现双向链表删除节点、插入节点、双向输出等操作
- 单链表的C语言实现