#include <stdlib.h>
#include <assert.h>
#include <stdio.h>typedef struct NODE
{
int value;
struct NODE *link;
} Node;/* 创建一个链表 */
Node* newnode( int value )
{
Node *new;
new = (Node *)malloc( sizeof( Node ) );
assert( new != 0 );//如果new = NULL,则打印错误报告
new -> value = value;
return new;
}/* 创建插入链表 */
int sll_insert( register Node **linkp, int new_value )
{
register Node *current;
register Node *new;
while( ( current = *linkp ) != NULL && current -> value < new_value )
linkp = ¤t -> link;new = ( Node* )malloc( sizeof( Node));
if( new == NULL )
return 0;new -> value = new_value;
new -> link = current;
*linkp = new;
return 1;
}int main()
{
Node *root;
root = newnode( 5 );
sll_insert( &root, 3 );
printf( "%d\n", root -> link -> value);return 0;
把3插入到第一个链表之前