一,单链表插入操作
- typedef struct NODE {
- struct NODE *link;
- int value;
- }Node;
- #include <stdlib.h>
- #include <stdio.h>
- #define FALSE 0
- #define TRUE 1
- int s_insert(Node **rootp,int new_value) //root是一个指向Node的指针,所以指针root的指针类型是Node**
- {
- Node *current;
- Node *new;
- Node *previous;
- current = *rootp;
- previous = NULL;
- while(current != NULL && current->value < new_value)
- {
- previous = current;
- current = current->link;
- }
- new = (Node*)malloc(sizeof(Node));
- if(new == NULL)
- {
- return FALSE;
- }
- new->value = new_value;
- new->link = current;
- if(previous == NULL)
- {
- *rootp = new;
- }
- else
- {
- previous->link = new;
- }
- return TRUE;
- }