南洋理工283 对称排序(结构体排序)_结构体对称-程序员宅基地

技术标签: 排序  


题目大意:按照样例(输入时当然无序,先排序),依次按长度最小的字符串分别放在上面和下面,最长的放在中间输出。结构体排序即可,输出时方法多种,我是按照奇偶分别输出的。上代码。

样例如下:

7
Bo
Pat
Jean
Kevin
Claude
William
Marybeth
6
Jim
Ben
Zoe
Joey
Frederick
Annabelle
5
John
Bill
Fran
Stan
Cece
0
样例输出
SET 1
Bo
Jean
Claude
Marybeth
William
Kevin
Pat
SET 2
Jim
Zoe
Frederick
Annabelle
Joey
Ben
SET 3
John
Fran
Cece
Stan
Bill
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;

struct Node
{
    char s[30];
    int len;
};

bool cmp(Node a,Node b)
{
    return a.len<b.len;
}
int main()
{
    Node No[15];
    int n;
    int i,j;
    int k=1;
    int temp;
    while(scanf("%d",&n)!=EOF&&n)
    {
        for(i=0;i<n;i++)
        {
            scanf("%s",No[i].s);
            No[i].len=strlen(No[i].s);
        }
        /*
        for(i=0;i<n;i++)
        {
            for(j=1;i<n;j++)
            {
                if(No[i].len>No[j].len)
                {
                temp=No[i].len;
                No[i].len=No[j].len;
                No[j].len=temp;
                }
            }
        }
        */
        sort(No,No+n,cmp);
        printf("SET %d\n",k++);
        /*
        for(i=0;i<n;i++)
        {
            printf("%s\n",No[i].s);
        }
        */
        for(i=0;i<n;i++)
        {
            if(i%2==0)      //下标序号是偶数,即1,3,5...先输出
            printf("%s\n",No[i].s);
        }
        for(i=n-1;i>=0;i--)
        {
            if(i%2)         //下标序号是奇数,倒序从n或者n-1开始输出
            printf("%s\n",No[i].s);
        }
    }
    return 0;
}


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/a_ppler/article/details/9456629

智能推荐

pytorch学习(一)利用pytorch训练一个最简单的分类器-------(基于CIFAR10数据集)的句句讲解_classes[labels[i]] for i in range(4)]-程序员宅基地

文章浏览阅读1.3w次,点赞75次,收藏273次。刚学pytorch两周,利用这个分类器学习pytorch的如何运用训练一个分类网络分为以下几个步骤:1数据的加载及预处理2网络模型的设置3.定义损失函数及优化器4.用训练集训练网络5.用测试集测试网络1.数据的加载及预处理1.加载数据集(训练集和测试集)2.扩充数据集防止过拟合2.网络模型的设置网络模型的设置主要是网络结构的设置:本次我们使用的是简单的一个类网络的简单设置..._classes[labels[i]] for i in range(4)]

java判断是否空值_JAVA 判断对象内容是否含有空值-程序员宅基地

文章浏览阅读1.5k次。简单判断对象是否含有NULL值,以及信息描述。packagecom.sicdt.sicsign.bill.api.util;importjava.lang.reflect.InvocationTargetException;importjava.lang.reflect.Method;importjava.util.ArrayList;importjava.util.Arrays;importja..._java如何判断一个twodiseasescreening对象是否有值

实例:GridView实现CheckBox的多选或单选,并根据所选择的行进行数据操作_asp.net gridview checkbox 多选-程序员宅基地

文章浏览阅读1.2w次。实例说明: 有一个用户列表,其中每一个用户对应一个状态。状态有两个值,分别是已激活,未激活。 现要求实现这样的功能, 1. 列表显示出用户名及对应的激活状态。 2. 列表中的每一行行首有一个CheckBox,列表底部有一个Button(激活)。使用者先勾选CheckBox(可多选),在点击激活按钮,即可激活相应勾选的用户。 3. 对于当前状态是激活状态的用户,其行首不应该显示CheckBox.功能截图: 涉及到的知识: Gr_asp.net gridview checkbox 多选

ssm整合spring-security遇到的404错误、一直重定向于登入界面的错误_springsecurity 404-程序员宅基地

文章浏览阅读4.9k次,点赞3次,收藏6次。文章目录1. 404错误1.1 第一种可能1.2 第二种可能2. 无论登入成功还是失败一直重定向在登入界面2.1 第一个可能2.2 第二个可能3. 最后附上我的spring-security的配置文件1. 404错误1.1 第一种可能如果你设置的登入页面是.html页面,则会出现404的问题。因为spring-security要操作页面,都是请求springmvc得到的。spring-sec..._springsecurity 404

android 手机通过usb数据线与OTG设备通信_android otg 发指令-程序员宅基地

文章浏览阅读1.8k次。1.首先在AndroidManifest.xml文件中添加所需要的权限&lt;uses-feature android:name="android.hardware.usb.host" /&gt;&lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt;&lt;uses-permis..._android otg 发指令

MySql取得日期(前一天、某一天) 当前时间等_mysql 查询日期等于今天-程序员宅基地

文章浏览阅读9.2k次。https://www.cnblogs.com/aprils/p/4519796.html取得当天:SELECT curdate();mysql> SELECT curdate();+------------+| curdate()|+------------+| 2013-07-29 |+------------+取得当前日期:mysql> s..._mysql 查询日期等于今天

随便推点

敏捷管理中的”燃尽图“是什么?_哪一种燃尽图的呈现被视为正常-程序员宅基地

文章浏览阅读1k次。燃尽图是用于表示剩余工作量的工作图表,由横轴(X)和纵轴(Y)组成,横轴表示时间,纵轴表示工作量。利用燃尽图,我们可以看到项目过程情况,是否按时完成?是否延期?是否在某个阶段进展缓慢,在另一个阶段进展快速。(w x:项目经理那些事)燃尽图的两个必要条件要想看项目的燃尽图,首先要有以下两个条件,如果实际项目中,不存在,那么项目的燃尽图很难反映出真实的情况。1、明确任务时间和具体工作量2、记..._哪一种燃尽图的呈现被视为正常

@Component的作用_@component 作用-程序员宅基地

文章浏览阅读1.1k次。@TOC版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37626813/article/details/78558010 今天在写程序的时候看见一个以前没有见过的注解(@Component),在网上查找过后,经过实践,决定把它记录下来。 1、@controller 控制器(注入服务)用于标注控制层,相当于st..._@component 作用

javascript 自调用匿名函数-程序员宅基地

文章浏览阅读695次。通常定义函数并调用 function a(){ } a(); 或是 var a = function(){ } a(); 但是查看jquery源码会发现它最外层的架构是这样的 (function( window, undefined ) { // jquery code })(window); 解释:首先jquery是定义了一个匿名函数(

如何实现文件的上传功能?_专机上传怎么实现-程序员宅基地

文章浏览阅读7.1k次,点赞2次,收藏16次。如何用servlet如何实现文件上传:一、用servlet如何实现文件上传: 1.需要先获取你把上传的文件放到哪里(也就是你的存储路径)2.如果你需要上传的不只是一个文件的话,需要先定一个Part集合来得到你要上传的集合,通过用户的请求3.先通过request去拿到你要上传的文件用Part对象接受4.然后就是通过part获取请求头part.getHeader(“content-dis..._专机上传怎么实现

iOS UITableView中异步加载图片 - 解决方案_tableview reloadrows 异步-程序员宅基地

文章浏览阅读6.4k次。问题背景:需要在UITableView中的每一行下载图片,之前使用placeholder,下载好后存在cache中。解决方案:方案一:使用SDWebImage:https://github.com/rs/SDWebImage如何安装及使用在git页面有详细解释,具体使用的代码:#import ...- (UITableViewCell *)tableView_tableview reloadrows 异步

Linux——Squid代理服务器_squid 代理linux-程序员宅基地

文章浏览阅读244次。二、安装及运行控制1.编译安装Aquid—prefix=/usr/local/squid:安装目录—sysconfdir=/etc:单独将配置文件修改到其他目录。—enable-linux-netfilter:使用内核过滤。—enable-async-io=值:异步I/O,提升存储性能—enable-default-err-Ianguage=Simplify_Chinese:错误信..._squid 代理linux

推荐文章

热门文章

相关标签