如何遍历链表,给链表添加新节点

#include <stdio.h>node

#include <stdlib.h>//注意:必须引进标准库,不然下面malloc分配空间会报错函数

//定义节点oop

struct node{spa

    int value;//数据域指针

    struct node*next;//指针指向下一个节点orm

};内存

//自定义在链表尾部添加新节点的函数it

struct node*add(struct node*node,int n){io

    struct node*new_node;//建立新节点遍历

    new_node=malloc(sizeof(struct node));//为新节点分配内存

    new_node->value=n;//节点中储存的值

    new_node->next=node;//节点指向下一个节点的指针;

    return new_node;//返回这个新节点

}

//自定义遍历链表的函数

void loop(struct node*node){

    struct node*p;

    for (p=node; p!=NULL; p=p->next) {

        printf("%d ",p->value);

    }

}

int main(int argc, const char * argv[]) {

    // 遍历链表、

    struct node*node;//建立节点

    node=add(node, 10);//添加节点

    node=add(node, 20);//添加节点

    node=add(node, 30);//添加节点

    loop(node);

    return 0;

}

相关文章
相关标签/搜索