openjudge数据结构练习集 单链表的创建,遍历与销毁

7-7-3 单链表的创建及遍历 (30 分) 7-7-3 单链表的创建及遍历 (30 分) 读入n值及n个整数,建立单链表并遍历输出。 输入格式: 读入n及n个整数。 输出格式: 输出n个整数,以空格分隔(最后一个数的后面没有空格)。 输入样例: 在这里给出一组输入。例如: 2 10 5 输出样例: 在这里给出相应的输出。例如: 10 5 #include<stdio.h> #include<stdlib.h> typedef struct node { int data; struct node*next; 阅读详情

单链表的创建,遍历与销毁

描述

从键盘输入任意多个正整数,输入以-1结束。逆序输出这些整数(不包括-1)。

输入
任意多的正整数,输入序列以-1结束。
输出
逆序输出这些整数(不包括-1)。
样例输入
3 8 2 9 7 4 -1
样例输出
4 7 9 2 8 3
提示
1、逆序创建链表。结点数据域是整型数。每输入一个整数,向链表中插入一个结点。当输入-1时结束链表的创建。
2、遍历链表,输出结点数据域的值。
3、遍历完成后,要求销毁该链表。

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

#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0

#define MAXSIZE 20

typedef int Status;
typedef int ElemType;

typedef struct Node
{
    ElemType data;
    struct Node *next;
} Node;

typedef struct Node *LinkList;

Status InitList(LinkList *L);//初始化链表

Status ListInsert(LinkList *L,int i,ElemType e);//往链表中第i个位置插入数据

int main()
{
    int n;
    LinkList l;
    InitList(&l);
    scanf("%d",&n);
    while(n!=-1)
    {
        ListInsert(&l,1,n);
        scanf("%d",&n);
    }
    LinkList p;
    p=l->next;
    while(p)
    {
        printf("%d ",p->data);
        p=p->next;
    }
    return 0;
}

Status InitList(LinkList *L)
{
    *L=(LinkList)malloc(sizeof(Node));
    if(!(*L))
        return ERROR;
    (*L)->next=NULL;

    return OK;
}

Status ListInsert(LinkList *L,int i,ElemType e)
{
    int j;
    LinkList p,s;
    p = *L;
    j = 1;
    while(p && j < i)
    {
        p = p->next;
        ++j;
    }
    if( !p || j > i)
        return ERROR;
    s = (LinkList)malloc(sizeof(Node));
    s->data = e;
    s->next = p->next;
    p->next = s;
    return OK;
}


Java学习之单链表创建以及正向遍历和反向遍历方法 链表是一种存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。原先是在C语言的学习中有遇到过,Java中的链表第一次遇到是在一家公司的面试题中。链表的种类有单链表、双端链表、有序链表,以下就单链表做一个简单的讨论。 1、原理图     2、创建数据节点 public class Node {        public 阅读详情

相关推荐

Meta-RL之Meta-Gradient Reinforcement Learning

这篇文章是用元学习算法去学习RL的超参数η={γ,λ}\eta=\{\gamma,\lambda\}η={γ,λ}。当然不仅限于这2个超参数,还可以是和回报相关的超参数。 本文的核心思想:我们之前接触过Meta-Learning参数的初始化(MAML、Reptile)以及Meta-Learning参数的更新优化(L2L-by-gd-by-gd、Opt as a model for few-shot learning),那么这篇就是能否Meta-Learning到η={γ,λ}\eta=\{\gamma,\l

Ton的博客 2520

数据结构(C语言版) 作业题(第一次作业:单链表的创建,遍历与销毁)

从键盘输入任意多个正整数,输入以-1结束。逆序输出这些整数(不包括-1)。 提示: 1、逆序创建单链表。结点数据域是整型数。每输入一个整数,向链表中插入一个结点。当输入-1时结束链表的创建。 2、遍历链表,输出结点数据域的值。 3、遍历完成后,要求销毁该链表。任意多的正整数,输入序列以-1结束。逆序输出这些整数(不包括-1)。代码:......

m0_57826950的博客 1121

在 Windows 系统下使用 VMware 安装 Ubuntu 24.04 LTS 系统

Ubuntu24.04桌面端官方下载:https://cn.ubuntu.com/download/desktop。

u014695938的博客 1万+

单链表的创建,遍历,删除和插入(手把手教程,因为我也是新手)

然后我们就可以开始操作了,首先我们把new的指针域赋值以p的指针域,使new的指针域指向4的位置,然后再将p的指针与赋值以new,使p的指针指向new的data位置,通俗的来讲嘛就是,此时的tail指向的是head,把tail的指针域next指向p的数据域,即是将此时head的next的指针域的地址赋值以p的数据域,然后把p赋值给tail,即将tail令为新的表尾。加入while循环,只要p!3)删除实例,咱们定义一个新的结构体指针q,指向下一个节点即要删除的点,然后把q给free掉。

WG_17的博客 3042

硅传CC1310二次开发必备:手把手教你用JTAG解锁被锁定的Flash存储器

本文针对硅传CC1310模块二次开发中常见的Flash锁定问题,提供了从原理剖析到实战操作的完整解决方案。详细介绍了如何使用Uniflash和Flash Programmer 2等工具进行Flash解锁和擦除,并强调了硬件连接稳定性与供电质量的关键作用,帮助开发者彻底解决烧录障碍,为后续应用开发铺平道路。

weixin_29189373的博客 254

全国30米分辨率逐年植被覆盖度(FVC)数据集

植被覆盖度是描述地表植被的重要参数与生态环境的基本指标,在大气圈、土壤圈、水圈和生物圈中都占据着重要的地位,区域及全球范围的植被覆盖度估算对植被及相关领域的研究具有重要意义。分别对LANDSAT 5/7/8系列数据计算FVC,其中Landsat5 和Landsat 7NDVI计算利用 B4和B3波段,Landsat8 和Landsat9 NDVI计算利用 B5和B4波段。算法从当年所有观测数据中,以低云、低探测角度和最高NDVI值为标准,选择最佳的可用像元值,并进行换算。(3) FVC的计算。

地球资源数据云的官方博客 1808

7-1 单链表的创建,遍历与销毁

从键盘输入任意多个正整数,输入以-1结束。逆序输出这些整数(不包括-1)。提示:1、逆序创建单链表。结点数据域是整型数。每输入一个整数,向链表中插入一个结点。当输入-1时结束链表的创建。2、遍历链表,输出结点数据域的值。3、遍历完成后,要求销毁该链表。

YYQXTZQ的博客 785

Android 10.0 任务栏音乐播放器后台播放杀进程功能实现

在10.0的系统rom定制化开发过程中,在某些情况下在安装第三方播放器以后,播放音乐的时候,在最近任务栏recents列表中,点击全部清除,发现音乐播放器还在播放音乐,导致出现bug,完整的 解决方法,肯定是需要点击全部清除以后,音乐播放器也被杀掉进程,接下来看下这个问题怎么解决

安卓兼职framework和app工程师的博客 652

单链表的基本操作(创建、销毁、增删查改等)

链表分类 链表主要有下面三种分类方法: 单向或者双向 带头或者不带头 循环或者非循环 综合来看链表有八种类型,本文主要针对的是不带头节点的非循环单链表。 单链表的介绍 typedef struct SListNode { DataType data;//数据域 struct SListNode *next;//结构体指针,指向下一个节点 }SListNode;//类型别名 如图 链表的每一个节点由数据域和指针域构成,数据域存放数据,指针域中的指针指向下一个节点。plist表示链表的指针,指向链表

qq_44631587的博客 2197

手把手教你YOLOv8/YOLOv11分割训练自己数据集和推理,并教你使用Labelme工具标注数据(附分割网络结构图)

YOLOv8-seg 和 YOLOv11-seg 都是一种高效实例分割算法,实例分割模型的输出是一组勾勒出图像中每个物体的遮罩或轮廓,以及每个物体的类标签和置信度分数。当你不仅需要知道物体在图像中的位置,还需要知道它们的具体形状时,实例分割就非常有用了,功能非常强大,可以应对各种视觉任务。 YOLOv11-seg 则在 YOLOv8-seg 基础上进一步魔改了模型架构,相对分割速度可能更快,其他指标性能有待测试。实例分割可以用于自动驾驶、医疗图像处理、智能农业监控等领域。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 4475

嵌入式Zephyr RTOS面试题及参考答案

在Zephyr中,为自定义外设编写Devicetree绑定(Bindings)有助于内核理解设备树中自定义外设节点的含义和属性。首先,需要创建一个.yaml格式的绑定文件,通常存放在目录下对应的子目录中,文件名应能反映外设的类型和功能。绑定文件的开头要定义基本信息,包括字段,用于简要描述外设的功能和用途;compatible字段,它是一个字符串列表,用于匹配设备树中自定义外设节点的compatible属性,设备树节点和绑定文件通过这个字段关联起来。接下来,要定义外设节点的属性。使用properties。

大模型大数据攻城狮的专栏 986

数据结构实验二:7-3 单链表的创建,遍历与销毁

从键盘输入任意多个正整数,输入以-1结束。逆序输出这些整数(不包括-1)。 提示: 1、逆序创建单链表。结点数据域是整型数。每输入一个整数,向链表中插入一个结点。当输入-1时结束链表的创建。 2、遍历链表,输出结点数据域的值。 3、遍历完成后,要求销毁该链表。 输入格式: 任意多的正整数,输入序列以-1结束。 输出格式: 逆序输出这些整数(不包括-1)。 输入样例: 在这里给出一组输入。例如: 3 8 2 9 7 4 -1 结尾无空行 输出样例: 在这里给出相应的输出。例如: 4

weixin_54136687的博客 3766

17、超声散斑降噪与桌面系统背景估计技术

本文介绍了超声散斑降噪与桌面系统背景估计的先进技术。在超声成像方面,提出结合超分辨率(SR)和非线性扩散(ND)的方法,显著降低噪声并保留图像细节,在MSE和CNR指标上优于传统方法。在桌面交互系统中,针对传统背景估计因忽略设备像素结构导致的误差,提出基于显示器与相机像素结构建模的几何转换方法,有效减少尖锐边缘区域的误检,提升物体识别准确性。实验验证了两种方法的有效性,未来将致力于实时性优化与多设备兼容性扩展。

dream的博客 87

单链表的实现

单链表是一种常用的数据结构,用于存储元素的线性集合,其中每个元素都是一个节点,每个节点指向下一个节点,形成一个链。在单链表中,每个节点通常包含两个部分:一个是存储的数据(或称为值),另一个是指向下一个节点的指针(或链接)。单链表的最后一个节点的指针指向NULL,表示链表的结束。

weixin_56898048的博客 1125

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

实验大纲:数据结构,2024年最新看完就能找到工作

手动创建链表(

2401_84181481的博客 993

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

链表的创建、添加、删除、销毁、遍历

单向链表的创建、添加、删除、销毁、遍历前言一、创建链表:1.链表增加节点2.链表添加元素二、链表其他操作1.查找2.查找是否存在3.修改4.插入5.删除6.销毁7.打印三、完整代码注意 基本没碰过链表,也没手写过,尝试一次 感谢马总与山哥的耐心指导,很多部分转自马总 前言 单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始;链表是使用指针进行构造的列表;又称为结点列表,因为链表是由一个个结点组装起来的;其中每个结点都有指针成员变量指向列表中的下一个结点;

果果要努力了 2586

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

循环单链表的创建,遍历和销毁

循环单链表的简单操作 因为循环单链表和单链表的插入,删除等操作大同小异 ,因此我只总结了循环链表的创建,遍历以及销毁操作 循环链表的定义 //定义一个单链表 typedef struct LNode { int data; struct LNode* next; }LNode, *LinkList; 虚幻链表的创建 //创建一个指定大小的循环链表 void CreateLoopList(Li...

Sock的博客 4359

单链表的创建、插入、删除、遍历输出

单链表相关操作 // 单链表相关操作 // 输入格式:第一行输入一个整数n, 第二行输入n个整数 #include <stdio.h> #include <stdlib.h> typedef int ElemType; typedef struct node { ElemType data; struct node *next; } Node; //尾插法创建链表(结果正序) void CreateListTail(Node *&head, ElemTyp

weixin_45744752的博客 1121

(PTA编程题解答)定义单向链表:输入若干个正整数(输入-1为结束标志),要求按输入数据的逆序并输出。

原题如下:7-1 单向链表4(10 分)定义单向链表:输入若干个正整数(输入-1为结束标志),要求按输入数据的逆序并输出。输入输出示例:括号内为说明输入样例:1 2 3 4 5 6 7 -1 输出样例:7 6 5 4 3 2 1答案解析如下:#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; typedef int ElemType;//声明定义...

王琪琛 2万+

2020-11-12

从键盘输入任意多个正整数,输入以-1结束。逆序输出这些整数(不包括-1)。 提示: 1、逆序创建单链表。结点数据域是整型数。每输入一个整数,向链表中插入一个结点。当输入-1时结束链表的创建。 2、遍历链表,输出结点数据域的值。 3、遍历完成后,要求销毁该链表。 输入格式:任意多的正整数,输入序列以-1结束。输出格式:逆序输出这些整数(不包括-1)。输入样例:在这里给出一组输入。例如:3 8 2 9 7 4 -1输出样例:在这里给出相应的输出。例如:4 7 9 2 8 3 ...

activitys的博客 1767

C语言输入若干个正整数(输入-1为结束标志),要求按输入数据的逆序建立单链表并输出。

/* 开发者:慢蜗牛 开发时间:2020.6.11 程序功能:逆序建立链表,顺序输出 */ #include<stdio.h> #include<malloc.h> #define LEN sizeof(struct once) struct once//建立结构 { int a; struct once* next; }; struct once* out()//建立头插法逆序建立链表 { int n = 0; struct once* p1, * p2; pr.

氮气蜗牛的博客 1万+

单链表的创建,遍历,增加修改删除

链表

chenyw1999的博客 1504

单链表的创建、遍历、与增删改查

前言:我先这篇文章的目的是为了分享自己所学的东西。 链表是一种很常见的数据结构,但是因为与指针的结合,使得它变得让人头疼,初学者往往会被其搞得晕头转向,好了废话不多说下面开始。 1、创建链表 首先是创建链表,这个大家应该都会 2、初始化链表 num所代表的是节点的个数。初始化链表是最让我头晕的一个部分了,不过理解了之后还是挺简单的。我们首先要做的就是先申请新节点,然后将新节点的指针域置为空,之后...

qq_43161124的博客 5664

数据结构实验之链表三:链表的逆置

Time Limit: 1000MS Memory limit: 65536K 题目描述 输入多个整数,以-1作为结束标志,顺序建立一个带头结点的单链表,之后对该单链表的数据进行逆置,并输出逆置后的单链表数据。 输入 输入多个整数,以-1作为结束标志。 输出 输出逆置后的单链表数据。 示例输入 12 56 4 6 55 15 33 62 -1

MandyXin的专栏 902

编写程序:从键盘上输入若干个整数(以输入-1作为结束标识),输出这些数中的最大值和最小值,要求编写一个函数实现最大值和最小值的求取。

 要求用C语言编写程序:编写程序:从键盘上输入若干个整数(以输入-1作为结束标识),输出这些数中的最大值和最小值,要求编写一个函数实现最大值和最小值的求取。

huimei998的专栏 2万+
上一篇: openjudge数据结构练习集 1:集合的交运算(单链表)
下一篇: openjudge数据结构练习集 约瑟夫问题
beforeevery
博客等级 码龄9年 9粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值