链表之初识

简介: 链表之初识
#include <stdio.h>
#include <malloc.h>
#define  N  sizeof(struct student)
struct student
{
  int num;
  char name[20];
  int score;
  struct student *next;
};
struct student* creat_list(void)
{ struct student* Head,*p0,*p1;//结构体指针变量
  Head=p0=(struct student*)malloc(N);//指向头结点
  p1=(struct student*)malloc(N);//指向第一个结点
 
  scanf("%d %s %d",&p1->num,p1->name,&p1->score);
  
  while(p1->num!=0)//输入学号为0那么退出循环
  { p0->next=p1;
    p0=p1;//指向下一个节结
    p1=(struct student*)malloc(N);
    
  scanf("%d %s %d",&p1->num,p1->name,&p1->score);
  }
  p0->next=NULL;
  free(p1);//释放存学号为0的空间
  return Head;
}
void print_list(struct student* pH)
{
  pH=pH->next;
  while(pH!=NULL)
  {
    printf("%d %s %d\n",pH->num,pH->name,pH->score);
    pH=pH->next;
  }
}
int main (void)
{
  struct student* head;
  head=creat_list();//返回头结点的地址
  print_list(head);//发送头结点的地址
 
}
相关文章
|
6月前
|
存储 Java
链表的认识
链表的认识
|
1月前
|
C++
有头链表实现(C++描述)
文章介绍了如何在C++中实现有头链表,包括节点定义、链表类定义以及各种操作如插入、删除和遍历的模板函数实现,并提供了使用整数和自定义数据类型进行操作的示例代码。
13 0
|
6月前
|
Python
|
6月前
|
存储 缓存 C语言
链表修炼指南
链表修炼指南
|
存储 C++
链表相关问题的实现
链表相关问题的实现
|
存储 索引
关于链表我所知道的
关于链表我所知道的
75 0
|
存储 算法 Java
一文带你深入了解链表(C)
📖作者介绍:22级树莓人(计算机专业),热爱编程<目前在c阶段>——目标C++、Windows,MySQL,Qt,数据结构与算法,Linux,多线程,会持续分享学习成果和小项目的 📖作者主页:热爱编程的小K 📖专栏链接:C 🎉欢迎各位→点赞👏 + 收藏💞 + 留言🔔​ 💬总结:希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🐾 ———————————————— 版权声明:本文为CSDN博主「热爱编程的小K」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_7215744
|
存储 索引
变幻莫测的链表
双链表 单链表中的指针域只能指向节点的下一个节点。 双链表:每一个节点有两个指针域,一个指向下一个节点,一个指向上一个节点。 双链表 既可以向前查询也可以向后查询。
72 0
|
存储 API
链表——初识链表
链表是一种物理存储单元上非连续、非顺序的存储结构,其物理结构不能只管的表示数据元素的逻辑顺序,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
110 0
链表——初识链表