链表

单向动态链表:定义head,p1,p2三个结构体指针

head返回链表初地址,p2用于链接新开辟的p1.

#include <stdio.h>
#include <stdlib.h>

struct stu {
    int num;
    char name[10];
    stu *next;
};
#define LEN sizof(struct stu)

int main() {
    stu *wu();
    stu *p=wu();
    //输出链表
    do{
        printf("%d %s\n",p->num,p->name);
        p=p->next;
    }while(p);
    return 0;
}
//创建链表
stu *wu() {
    stu *head=NULL, *p1, *p2;
    p1 = p2 = (stu *) malloc(sizeof(struct stu));
    scanf("%d %s", &p1->num, p1->name);
    int n = 0;//accout of node
    while (p1->num != 0) {
        n = n + 1;
        if (n == 1) head = p1;
        else p2->next = p1;
        p2 = p1;
        p1 = (stu *) malloc(sizeof(struct stu));
        scanf("%d %s", &p1->num, p1->name);
    }
    p2->next=NULL;
    return head;
}
全部评论

相关推荐

05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
湫湫湫不会java:1.在校经历全删了2.。这些荣誉其实也没啥用只能说,要的是好的开发者不是好好学生3.项目五六点就行了,一个亮点一俩行,xxx技术解决,xxx问题带来xxx提升。第一页学历不行,然后啥有价值的信息也没有,到第二页看到项目了,第一个项目九点,第二个项目像凑数的俩点。总体给人又臭又长,一起加油吧兄弟
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务