作者 chenmin

单位 福建工程学院

编程实现一个简易学生信息管理系统,按如下步骤分别用自定义函数实现:
(1) 根据输入信息创建单链表并输出所有结点信息。每个学生的信息包括姓名和成绩;
(2) 将上一步创建的单链表逆置后并输出所有结点信息。

输入格式:

根据输入的若干个学生信息创建单链表。每一行代表一个学生信息,以成绩-1作为输入的结束。

输出格式:

每个学生信息占一行,姓名和成绩之间以空格分隔,成绩保留一位小数。
创建链表输出加提示信息:Original
逆置后输出加提示信息:Reversed

输入样例:

在这里给出一组输入。例如:

Wang 87.3
Wang 60.1
Wang 89.5
Li 93.2
Fu 87.5
Wang 78.6
Cheng 89.1
Tang 71.9
Wang 63.1
Fang 81.9
tt -1

输出样例:

在这里给出相应的输出。例如:

Original:
Wang 87.3
Wang 60.1
Wang 89.5
Li 93.2
Fu 87.5
Wang 78.6
Cheng 89.1
Tang 71.9
Wang 63.1
Fang 81.9

Reversed:
Fang 81.9
Wang 63.1
Tang 71.9
Cheng 89.1
Wang 78.6
Fu 87.5
Li 93.2
Wang 89.5
Wang 60.1
Wang 87.3

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

C++代码:

#include<bits/stdc++.h>using namespace std;typedef struct {char name[10];double score;
} Student;int main() {list<Student> l1;Student temp;while (1) {cin >> temp.name >> temp.score;if (temp.score != -1)l1.push_back(temp);elsebreak;}cout << "Original:" << endl;for (auto it = l1.begin(); it != l1.end(); it++) {printf("%s %.1lf\n",it->name,it->score);}cout << endl;cout << "Reversed:" << endl;for(auto it = l1.rbegin();it != l1.rend();it++){printf("%s %.1lf\n",it->name,it->score);}return 0;
}

7-14 单链表基础应用(4)--单链表逆置相关推荐

  1. 7-4 单链表基础应用(4)--单链表逆置

    编程实现一个简易学生信息管理系统,按如下步骤分别用自定义函数实现: (1) 根据输入信息创建单链表并输出所有结点信息.每个学生的信息包括姓名和成绩: (2) 将上一步创建的单链表逆置后并输出所有结点信 ...

  2. 2020-12-13# **链表的增删改查,逆置**

    链表的增删改查,逆置,长度,排序,是否为空 1.``准备阶段## ## # include<stdio.h> # include<stdlib.h>typedef struct ...

  3. day03链表基础_移除链表元素_设计链表_反转链表

    链表理论基础 链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思). 链表的入口节点称 ...

  4. 25. Leetcode 143. 重排链表 (链表-基础操作类-重排链表)

    给定一个单链表 L 的头节点 head ,单链表 L 表示为:L0 → L1 → - → Ln - 1 → Ln 请将其重新排列后变为:L0 → Ln → L1 → Ln - 1 → L2 → Ln ...

  5. 22. Leetcode 237. 删除链表中的节点 (链表-基础操作类-删除链表的节点)

    请编写一个函数,用于 删除单链表中某个特定节点 .在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问 要被删除的节点 .题目数据保证需要删除的节点 不是末尾节点 .示例 1:输入: ...

  6. 24. Leetcode 61. 旋转链表 (链表-基础操作类-旋转链表)

    给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置.示例 1:输入:head = [1,2,3,4,5], k = 2 输出:[4,5,1,2,3] 示例 2:输入:hea ...

  7. 23. Leetcode 24. 两两交换链表中的节点 (链表-基础操作类-交换链表)

    给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换).示例 1:输入:head = [1,2,3,4] 输出:[2,1,4 ...

  8. 23. Leetcode 86. 分隔链表 (链表-基础操作类-分隔链表)

    给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前.你应当 保留 两个分区中每个节点的初始相对位置.示例 1:输入: ...

  9. 21. Leetcode 203. 移除链表元素 (链表-基础操作类-删除链表的节点)

    给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 .示例 1:输入:head = [1,2,6,3,4,5,6] ...

最新文章

  1. 2020-12-17 Halcon初学者知识【4】区域和分割
  2. Linux TCP队列相关参数的总结
  3. H5页面在 ios 端滑动不流畅的问题
  4. 前端学习(3277):promise的使用
  5. SQL Server 2005之PIVOT/UNPIVOT行列转换(转)
  6. Michael Dell承诺打造新的EMC/戴尔/VMware工程技术系统
  7. 苹果Mac移动复制文件效率工具:Yoink
  8. 浏览器userAgent大全
  9. 华为游戏帧率测试的软件,华为手机怎么在游戏内显示帧率 | 手游网游页游攻略大全...
  10. ev3编码软件linux,机器人编程软件下载 乐高ev3机器人编程软件(LEGO MINDSTORMS EV3 Home Edition)V1.3.1 中文安装版 下载-脚本之家...
  11. ARM交叉编译工具链安装和使用教程【图文并茂】
  12. caj安装,win10,错误1372。无效驱动器:D:\ (解决方案大全总结)
  13. MySQL Front订单信息表,mysqlfront
  14. java分词支持拼音_支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
  15. c语言二进制转十进制大小,c语言二进制转换成十进制的方法
  16. 网页如何实现平均分成左右两部分
  17. 记录学习Android基础的心得07:硬件控制P2
  18. STM32学习笔记--I2C
  19. 资产管理运维一体化 构建设备运维标准库高效处理现场服务任务
  20. 亚马逊、速卖通、东南亚等跨境电商平台2022年最新测评自养号系统

热门文章

  1. 第11.16节 Python正则元字符“()”(小括号)与组(group)匹配模式
  2. 学习java的第四周
  3. linux ls命令全称,5分钟带你了解Linux常用命令全称
  4. 新版FMEA知识精讲
  5. 国际支付对接,信用卡支付对接,stripe的使用
  6. VMWare和Virtual PC虚拟机的比较
  7. 【Python算法】数值分析—牛顿迭代法
  8. ACC算法学习笔记(七):系统需求分析
  9. gom传奇引擎无限蜂功能插件安装图文教程
  10. 六十分之二——培养完成计划的习惯