#include <stdio.h>
#include <stdlib.h>
struct Student
{
int data;
struct Student * next;
};
struct Student * Create_list(); //创建链表函数
void Delete_list(struct Student *);//输出链表函数
int main()
{
struct Student * phead;
phead = Create_list();
Delete_list(phead);
return 0;
}
struct Student * Create_list()
{
struct Student * phead, *pend, *pnew;
phead = (struct Student *)malloc(sizeof(struct Student));
if(phead == NULL)
{
printf("内存分配失败!\n");
exit (EXIT_FAILURE); //返回非0值
}
pend = phead;
pend->next = NULL;
do
{
pnew = (struct Student *)malloc(sizeof(struct Student));
if(pnew == NULL)
{
printf("内存分配失败!\n");
exit (EXIT_FAILURE);
}
printf("请输入数据(输入0时退出输入):");
scanf("%d", &pnew->data);
if(pnew->data != 0)
{
pend->next = pnew;
pend = pnew;
pend->next = NULL;
}
}while(pnew->data != 0);
free(pnew); //释放刚才创建的空间,因为它的值为零
return phead;
}
void Delete_list(struct Student *phead)
{
phead = phead->next;
while(phead)
{
printf("%d\n", phead->data);
phead = phead->next;
}
}
相关推荐
四种创建单链表的方法
学习了这么久的数据结构,终于把链表吃透啦,下面是我整理的四种创建单链表的的方法,以及一些非常容易犯的错误,让我们一起来看看吧~
链表
#include #include typedef struct node{ int value; struct node *next; }Node; int main(){ int number; Node *head=NULL; do{ scanf("%d",&number); if(number!=-1){//add to linked-list Node *p=(N
SONiC (6) - SONiC 源码框架分析
https://github.com/sonic-net/sonic-utilitieshttps://github.com/sonic-net/sonic-snmpagenthttps://github.com/sonic-net/sonic-linux-kernelhttps://github.com/sonic-net/sonic-platform-commonhttps://github.com/sonic-net/sonic-platform-daemons以下是在 SONiC 中运行的容器列表:
单链表的创建以及基本操作函数详解(C语言)
单链表是带有头结点的单链表,讲解及注释在代码中: #define _CRT_SECURE_NO_WARNINGS #pragma once//防止头文件重复包含 #include<stdio.h> #include<string.h> #include<stdlib.h> #define OK 1 #define ERROR 0 #define ElemType int typedef struct { ElemType data; struct LNode* n
使用html和JavaScript实现一个简易的物业管理系统
码实现了一个简易的物业管理系统,主要使用了以下技术和功能: 1.主要技术 使用的技术: HTML: 用于构建网页的基本结构。 包括表单、表格、按钮等元素。 CSS: 用于美化网页的外观和布局。 设置字体、颜色、边距、对齐方式等样式。 JavaScript: 用于处理用户交互和动态更新页面内容。 实现了新增住户、查询住户、编辑住户、删除住户等功能。 处理表单提交事件,验证输入数据,并更新表格显示。 DOM操作: 使用 JavaScript 直接操作 HTML DOM 元素。 动态
大模型蒸馏实战:让小模型获得大模型的知识
本文为初学者提供了一份大模型蒸馏实战指南,通过情感分析任务演示如何将 BERT 的知识迁移到轻量级 TextCNN。文章结合原理图解与 PyTorch 代码,详解软标签生成、温度调节和双损失设计等核心概念,并对比蒸馏前后的性能差异(准确率提升 4.6%,推理速度达 1200 句 / 秒)。内含可直接运行的代码片段、训练技巧及常见问题解答,助力开发者快速掌握模型压缩核心技术,实现工业级部署效率。适合 NLP 入门者学习实践。
C语言建立链表的函数
写一个建立链表的函数
k8s架构、工作流程、集群组件详解
Kubernetes(简称K8s,是因为 k 和 s 之间有八个字符)是一个开源的容器编排平台,用于管理云平台中多个主机上的容器化应用程序。它提供了一种机制,用于自动化部署、扩展和管理容器化应用程序的集群。Kubernetes的目标是让部署容器化应用程序变得简单高效。它提供了应用程序部署、规划、更新和维护的基本机制,同时具备强大的扩展性和可靠性。Kubernetes采用主从设备模型(Master-Slave架构),其中Master节点负责核心的调度、管理和运维任务,而Slave节点负责运行应用程序的容器。
用函数实现链表的创建、输出、删除、插入
插入模式可选首端和末端,插入首端的话需要从新返回链表首地址,因此需要返回值,同时需要结点的信息一并传入函数,再由mallco()函数开辟新空间,接受相应数据。函数考虑两种情况,及删除的结点为第一项,和为结点的其他项,因此函数有返回类型,并且传入两个参数。链表的首地址,和需要删除结点的信息。接着看函数内部,变量为四个Peo*类型指针,其中p3作用是记录上一个结构体变量地址,当输入0使,使p3为链表最后一项。先看函数,不含参数,有返回值,返回值类型是 Peo*类型指针,Peo为我们创建的结构体类型。
一种白平衡增益计算中白点权重计算简易实现方式
一种白平衡白点距离权重简易实现方式
uni-app - 文本展开 / 收起折叠功能,支持自定义样式(当文本内容超出规定行数后,展开收起折叠的功能)兼容 H5 / App / 小程序且易用更容易修改的插件组件源码,超详细的示例代码及注释
uniapp实现文本的展开与收起功能,uniapp展开全部和收起,uniapp里文本的展开与收起,uniapp中文本内容超出规定行数后展开收起的处理,UNIAPP兼容h5、微信小程序多行文本展开或收起,uni-app中,文字超出隐藏并显示省略号(实现展开、收起全文),uni-app中文本过长-实现折叠与展开效果,中文本内容超出规定行数(字数)后展开收起的处理,超出部分...显示,uniapp适用于uniapp多行文本溢出显示...,多行文本展开或收起,uni-app-文本展开/收起折叠功能,支
1.1 LeetCode总结(线性表)_链表类
编程总结 每每刷完一道题后,其思想和精妙之处没有地方记录,本篇博客用以记录刷题过程中的遇到的算法和技巧 206)反转链表 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 下图一到图二进行了四个步骤的变化: struc...
【推荐100个unity插件】将UE的资源导出到unity使用—— Exporter for Unreal to/for Unity插件
Unreal to Unity导出器是一款帮助开发者将Unreal Engine项目转换为Unity的工具。文章详细介绍了使用步骤:1)安装虚幻引擎并创建项目;2)在Plugins文件夹中安装导出插件;3)导入UE资产到Content文件夹;4)配置导出参数并完成转换。文末推荐了多个Unity开发专栏,涵盖C#编程、2D/3D开发、特效制作等内容。作者向宇提供了博客地址,欢迎读者交流学习。该工具能有效提升项目迁移效率,适合需要跨引擎开发的用户使用。
如何创建链表?
引言: 最近我们c语言课学到了链表,好多同学都在说:“哇!链表怎么这么难,根本看不懂呀!” 不要怕,在这一篇博客中,我会给你详细讲解每一行代码! 链表: 链表的组成其实很简单,就是由很多结点组成的。 一个结点包含数据域和指针域,数据域用来存放数据,指针域负责指向其他结点,起到链接的作用。 创建链表: 其实创建一个链表也很简单,在我看来,可以分为以下几步: 1.创建头结点。(命名为:head...
SAP B1中文培訓教材_SDK
公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说
WINCC7.3破解文件
WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!
java中链表的创建和使用
链表的创建和使用 1,创建一个链表: a,定义一个class类 ListNode 如下: //创建一个链表的类 class ListNode{ int val; //数值 data ListNode next; // 结点 node ListNode(int x){ //可以定义一个有参构造方法,也可以定义一个无参构造方法 val = x; } // 添加新的结点 public...
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
单链表的创建算法
单链表的创建算法 当一个序列中只含有指向它的后继结点的链接时,就称该链表为单链表。 单链表的示意图如下: Head指针为单链表的头指针,单链表L:L既是单链表的名字,也是其头指针。链表中的最后一个结点的指针域定义为空指针(NULL)。 单链表
ssm框架搭建
这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载
创建链表
#include <stdio.h> #include <stdlib.h> //这里创建一个结构体用来表示链表的结点类型 struct node { int data; struct node *next; }; int main(){ struct node *p,*q,*head,*t; head=NULL; int n,a; scanf("%d",&am...
链表的创建与遍历
链表,简而言之,就是基于链式储存结构下的线性表。链表包括单向链表、双向链表以及循环链表。 链表是一种很常用的数据结构,其定义如下: /** * 单向链表的定义 * 定义说明:包括数据域和指针域 */ typedef int ElemType; typedef struct node { ElemType data; struct node *ne
如何在Python中创建与使用链表(单链表)
最近用Python语言在Leetcode中刷题,接触到不少关于链表的题,学校目前还没有开设数据结构的课程(开设的话应该也是以C/C++语言写的)。因为不太了解链表使用方式,开始跳过了这些题,不过后来还是自己研究了一下,大概是了解了,看到评论区也有人不知道链表的使用方式,就打算总结一下。首先让表头(最终会是最后一个元素)指向None,然后利用for循环依次添加这个链结的前一个元素。,前者代表当前原色的值,后者代表着这个元素指向的下一元素。这里使用一个列表来保存链表中元素的值。第一行说明了这是对单链表的定义。
c++ 链表的创建与链表常见操作
C++链表的常见操作
单向链表简单的创建
单向链表的介绍及创建 链表的定义: 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。有时使用数组时显得不灵活,这时候使用链表,比如插入,删除等时比较好用。 链表的实现 C语言中可以使用...
链表的创建与使用
链表的基本介绍与使用
数据结构之链表-链表的创建
一.链表创建原理:链表的核心是指针,它是借助结构体和指针实现数据的存储和节点的指向,主要开辟在堆区;原理如下图: 链表的节点是一个带指针的结构体,它的数据区是用来存数据,指针用来指向下一个节点,通过指针是否指向NULL来判断链表是否结束,链表在堆区开辟,地址可能是连续的,也有可能是不连续的,所以要用到指针来存储几点的地址; 二.头插法...
C++链表的创建及操作
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、链表定义与函数声明二、链表创建三、删除节点四、插入节点总结 前言 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。 一、链表定义与函数声明 首先,本文主要将链表的操作分为三个部分,即创建链表,删除节点以及增加节点。其中链表的结构体定义以及函数声明与主函数如下: typedef struct L.
链表的创建与打印
链表 链表的创建与打印 #include<stdio.h> #include<stdlib.h> typedef struct student{ char name[8]; char num[10]; int score; struct student *next; }NODE; //将struct student 结构类型定义为新的类型名NODE ...
1万+



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



