2607: A代码填空题--更换火车头

时间限制: 1 Sec  内存限制: 128 MB

提交: 91  解决: 73

题目描述

注:本题只需要提交填写部分的代码,请按照C++方式提交。

假设火车有n节车厢(从前往后编号依次为1,2,3,...,n),每节车厢的人数依次为M1,M2,M3,...,Mn。火车头的编号为0,连接在1号车厢上。火车进站后,将火车头从1号车厢卸下,接在第n节车厢上,反方向行驶。即火车的1号车厢为原来的第n号车厢,...,火车的n号车厢为原来的第1号车厢。请输出火车反向行驶后,每节车厢的人数。

#include <iostream>

using namespace std;

struct Train {

    int num;  //人数

    Train *next;

};

Train *creat(int n)

{

    Train *t=new Train;

    cin>>t->num ;

    if(n==1) {

        t->next = NULL;

        return t;

    }

    t->next = creat(n-1);

    return t;

}

void print(Train *p){

    if(p==NULL)

        return ;

    cout<<p->num<<" ";

    print(p->next);

}

void del(Train *p)

{

    if(p==NULL)

        return ;

    Train *t;

    t=p->next;

    delete p;

    del(t);

}

Train *rev(Train *p)

{

    Train *head=NULL,*t;

    while(p){

        t=p->next;      

        p->next = head; 

        head = p;       

/*******************************   

       请在该部分补充缺少的代码

********************************/

    }

    return head;

}

int main(void)

{

    int n;

    Train *head;

    Train *rev(Train *p);

    cin>>n;

    head = creat(n);

    head=rev(head);

    print (head);

    del(head);

    return 0;

}

输入

第一行 n

第二行 每节车厢的人数

输出

火车反向行驶后,每节车厢的人数。

样例输入

10
110 112 108 100 118 100 60 64 56 62

样例输出

62 56 64 60 100 118 100 108 112 110

迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……

#include <iostream>
using namespace std;
struct Train
{
int num;
Train *next;
};
Train *creat(int n)
{
Train *t=new Train;
cin>>t->num ;
if(n==1)
{
t->next = NULL;
return t;
}
t->next = creat(n-1);
return t;
}
void print(Train *p)
{
if(p==NULL)
return ;
cout<<p->num<<" ";
print(p->next);
}
void del(Train *p)
{
if(p==NULL)
return ;
Train *t;
t=p->next;
delete p;
del(t);
}
Train *rev(Train *p)
{
Train *head=NULL,*t;
while(p)
{
t=p->next;
p->next = head;
head = p;
p=t;
}
return head;
}
int main(void)
{
int n;
Train *head;
Train *rev(Train *p);
cin>>n;
head = creat(n);
head=rev(head);
print (head);
del(head);
return 0;
}

YTU 2607: A代码填空题--更换火车头的更多相关文章

  1. YTU 2601: 熟悉题型——填空题(删除线性表节点)

    2601: 熟悉题型--填空题(删除线性表节点) 时间限制: 1 Sec  内存限制: 128 MB 提交: 357  解决: 212 题目描述 给出一串具体长度的数据,删除指定数据. 已经给出部分代 ...

  2. 算法笔记_116:算法集训之代码填空题集三(Java)

     目录 1 数组转置 2 文件管理 3 显示为树形 4 杨辉三角系数 5 圆周率与级数 6 整数翻转 7 自行车行程 8 祖冲之割圆法 9 最大5个数 10 最大镜像子串   1 数组转置 编写程序将 ...

  3. java算法集训代码填空题练习3

    1 数组转置 编写程序将2行3列的数组行列置换复制给3行2列的数组(即数组的转置).已经写了如下代码,请完善之: class y{ public static void main(String[] a ...

  4. 算法笔记_115:算法集训之代码填空题集二(Java)

     目录 1 连续数的公倍数 2 孪生素数 3 迷宫走法 4 拍7游戏 5 排列为平方数 6 平面点最小距离 7 扑克牌排列 8 三进制转十进制 9 识别复制串 10 蔬菜价格计算   1 连续数的公倍 ...

  5. 算法笔记_113:算法集训之代码填空题集一(Java)

     目录 1 报数游戏 2 不连续处断开 3 猜数字游戏 4 串的反转 5 串中找数字 6 递归连续数 7 复制网站内容 8 股票的风险 9 基因牛的繁殖 10 括号的匹配   1 报数游戏 有n个孩子 ...

  6. java算法集训代码填空题练习2

    1 连续数的公倍数 为什么1小时有60分钟,而不是100分钟呢?这是历史上的习惯导致. 但也并非纯粹的偶然:60是个优秀的数字,它的因子比较多. 事实上,它是1至6的每个数字的倍数.即1,2,3,4, ...

  7. java算法集训代码填空题练习1

    1 报数游戏 有n个孩子站成一圈,从第一个孩子开始顺时针方向报数,报到3的人出列,下一个人继续从1报数,直到最后剩下一个孩子为止.问剩下第几个孩子.下面的程序以10个孩子为例,模拟了这个过程,请完善之 ...

  8. YTU 2586: 填空题B-字画鉴别

    2586: 填空题B-字画鉴别 时间限制: 1 Sec  内存限制: 128 MB 提交: 509  解决: 131 题目描述 注:本题只需要提交填写部分的代码,请按照C语言方式提交. 古玩店老板小勇 ...

  9. YTU 2579: 填空题----删除指定字符

    2579: 填空题----删除指定字符 时间限制: 1 Sec  内存限制: 128 MB 提交: 164  解决: 61 题目描述 小明想要做个小程序,能够删除字符串中特定的字符. 例如:想要在下面 ...

随机推荐

  1. Dynamic Programming - Part1

    public static void main(String[] args) { //give N, find the number of different ways to write N as t ...

  2. WPF使用RoutedCommand自定义命令

    主要代码如下所示: /// <summary> /// 声明并定义命令. /// </summary> RoutedCommand ClearCommand = new Rou ...

  3. logback日志项目使用方法 - 150205交易模块添加日志信息logback,orderNo订单号为log主键便于跟踪,数字常量化,解决取消支付BUG,弱网络环境原因

    1.项目里面的日志,便于跟踪数据的变更和异常错误信息产生.生产环境的日志级别是INFO,测试环境日志级别DEBUG,如果生产环境的日志级别是DEBUG,虽然方便查询问题,可以看到SQL语句等信息,但是 ...

  4. Chapter 3

    1.序列类型可以使用成员操作符in,大小计算函数(len()),分片([]),都可以迭代.Python内置的序列类型:str,list,tuple,bytearray,bytes.标准库中的序列类型: ...

  5. Using an Interface as a Type

    When you define a new interface, you are defining a new reference data type. You can use interface n ...

  6. POJ 2070

    #include<iostream> #include<stdio.h> using namespace std; int main() { //freopen("a ...

  7. Java package详解

    Java引入包(package)机制,提供了类的多层命名空间,用于解决类的命名冲突.类文件管理等问题.Java允许将一组功能相关的类放在同一个package下,从而组成逻辑上的类库单元.如果希望把一个 ...

  8. 用C#读取,写入ini文件

    [DllImport("kernel32.dll")] private static extern bool WritePrivateProfileString(string se ...

  9. POJ 3384 Feng Shui(半平面交向内推进求最远点对)

    题目链接 题意 : 两个圆能够覆盖的最大多边形面积的时候两个圆圆心的坐标是多少,两个圆必须在多边形内. 思路 : 向内推进r,然后求多边形最远的两个点就是能覆盖的最大面积. #include < ...

  10. ExtJs之FieldSet和FieldContainer

    <!DOCTYPE html> <html> <head> <title>ExtJs</title> <meta http-equiv ...