#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插入到第一个链表之前

本文深入讲解了链表的基本操作,包括节点的创建和插入过程。通过C语言代码示例,详细解析了如何创建一个链表节点,并将其插入到已存在的链表中。这是一篇针对初学者和进阶读者理解链表数据结构的好文章。
1473

被折叠的 条评论
为什么被折叠?



