( 设计高效算法 ) 年龄排序 Age Sort Uva 11462

( 设计高效算法 ) 年龄排序 Age Sort Uva 11462

可以使用整数排序法, 内存太小无法堆排序.

#include <cstdio>
#include <cstring>
using namespace std;int main(){unsigned int age[101];int n,temp;while (scanf("%d", &n) == 1 && n){memset(age, 0, sizeof(age));for (int i = 0; i < n; i++){scanf("%d", &temp);age[temp]++;}bool first = 1;for (int i = 1; i < 101; i++){for (int j = 0; j < age[i];j++){if (!first) printf("");else first = false;printf("%d", i);}}printf("\n");}}
优化输入输出也可以提高效率,  但是这个是最后考虑的优化要素.

函数名前 的inline 相当于c的宏定义,  降低大量函数引用消耗的时间.

使用cctype 中的 isdigit


#include <cstdio>
#include <cstring>
#include <cctype>
using namespace std;inline int readint(){char c = getchar();while (!isdigit(c)) c = getchar();unsigned int num = 0;while (isdigit(c)){num = num * 10 + c - '0';c = getchar();}return num;
}inline void writeint(unsigned int i){char buf[10];int p = 0;while (i){buf[p++] = i % 10;i /= 10;}for (int j = p - 1; j >= 0; j++) putchar('0' + buf[j]);
}int main(){int n;int age[101];while (n = readint()){memset(age, 0, sizeof(age));for (int i = 0; i < n; i++){age[readint()]++;}bool first = true;for (int i = 1; i < 101; i++){for (int j = 0; j < age[i]; j++){if (!first) putchar(' ');else first = false;writeint(i);}}putchar('\n');}
}


posted on 2015-02-01 20:58 rex686568 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/Pomodori/p/4316625.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/406413.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js 如何去除字符两端的引号

通过js 提供的substring()就可以直接去除引号。&#xff08;注意是小写&#xff0c;和java不同&#xff09; var str JSON.stringify("sasasa"); console.log(str); var str str.substring(1,str.length-1); console.log(str);

asic面试题目 英伟达_免笔试!不限量!全球可编程图形处理技术领袖英伟达2021校园招聘火热进行中!...

关注并标星大同学吧每周1次&#xff0c;打卡阅读快速获取行业最新资讯秋意浓&#xff0c;渐微凉校招逐渐收尾不少同学陆陆续续开始签约还在观望决意不定的同学英伟达还没结束&#xff01;筹谋已久的英伟达2021校园招聘终于来啦&#xff01;拥有全世界最酷的AI计算机发明主办最顶…

C++真的能够王者归来吗?

From: http://blog.csdn.net/adwu73/article/details/7230048 C真的能够王者归来吗&#xff1f; 吴穹Adam 我个人认为不太可能&#xff01;因为不能光看C改进了什么&#xff0c;有什么优点&#xff1f;而要看环境&#xff0c;看对手&#xff01; 这篇博客不想写太长&#xff0c…

JTA的含义及应用简介

2019独角兽企业重金招聘Python工程师标准>>> Java Transaction API&#xff08;Java事务API&#xff09; (JTA)Java Transaction API(Application Programming Interface) 什么是JTA Transaction&#xff1f;它有怎样的特点呢&#xff1f;JTA Transaction是指由J2EE…

VC++ 深入详解 学习笔记(5) -- 修改窗口样式续

From: http://elton.iteye.com/blog/301503 之前说过&#xff0c; 修改窗口大小&#xff0c;窗口样式的方法。 这里说明一下修改窗口的图标&#xff0c;光标和背景的方法。 修改窗口大小&#xff0c;样式是在创建窗口的时候进行的&#xff0c;而修改图标&#xff0c;光标和背…

为CEDIT添加有颜色的边框

From: http://hi.baidu.com/dqf8/blog/item/56258ed62c658b2707088bb5.html 1、从CEDIT派生CMyEdit 2、添加代码&#xff1a; void CMyEdit::OnPaint() { CPaintDC dc(this); CPaintDC dc(this); // device context for painting // TODO: Add yo…

java 在数组末尾添加元素_Java快问快答:用 ArrayList 还是 LinkedList?

问题&#xff1a;通常我会这么定义列表&#xff1a;List<String> names new ArrayList<>()names类型使用List接口&#xff0c;那么具体实现该如何选择。 什么时候应该用LinkedList替代ArrayList&#xff0c;反之亦然&#xff1f;这里大家可以关注一下我的个人专栏…

手把手教你用好LINQ to SQL(1)

From: http://developer.51cto.com/art/200904/120915.htm 作者写下这篇文章的主要目的不是“一口吃成个胖子”让大家一次就学会LINQ to SQL。而是从不同的方面帮助大家正确理解&#xff0c;所以这里提到的快速的含义是提高效率&#xff0c;而不是单纯为了学习的速度。 最近接连…

esxi管理端口_网工知识角|一分钟轻松了解华为端口安全机制

学网络&#xff0c;就在IE-LAB国内高端网络工程师培养基地为防止MAC地址洪泛攻击&#xff0c;防止未经允许的设备访问网络&#xff0c;并增强安全性。通过端口安全机制&#xff0c;录连接到交换机端口的以太网MAC地址&#xff0c;只允许某个或者某些合法设备通过相应的端口进行…

VC设置CEdit控件背景透明、文字背景也透明

开发环境&#xff1a;VC6&#xff0c; a dialog based MFC application. 主界面&#xff1a; 为对话框添加WM_CTLCOLOR消息响应函数&#xff1a; HBRUSH CDDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) {HBRUSH hbr CDialog::OnCtlColor(pDC, pWnd, nCtlColor);…

Taro+react开发(71):Taro.nextTick

Taro.nextTick(callback) 延迟一部分操作到下一个时间片再执行。&#xff08;类似于 setTimeout&#xff09; 说明 因为自定义组件中的 setData 和 triggerEvent 等接口本身是同步的操作&#xff0c;当这几个接口被连续调用时&#xff0c;都是在一个同步流程中执行完的&#xf…

led拼接屏报价_LED拼接屏的装饰

LED拼接屏外装饰工程是利用结构连接件或者粘结剂将装饰材料固定到钢结构框架的外部&#xff0c;使之达到一个美观大方的外形&#xff0c;并且达到防水(针对户外)等防护目的。LED屏的常用装饰的材料如下。(1)不锈钢一般装饰使用的不锈钢主要有亚光拉丝不锈钢、镜面不锈钢&#x…

Taro+react开发(72):Taro.createSelectorQuery

Taro.createSelectorQuery() 返回一个 SelectorQuery 对象实例。可以在这个实例上使用 select 等方法选择节点&#xff0c;并使用 boundingClientRect 等方法选择需要查询的信息。

电感检测_三、电感线圈的识别与检测(二)

变压器变压器也是一种电感器。它是利用两个 电感线圈靠近时的互感现象工作的&#xff0c;是电子产品中十分常见的元件。变压器是将两组或两组以上线圈绕在同一骨架上&#xff0c;并在绕好的线圈中插入铁芯或磁芯等导磁材料而构成&#xff0c;它在电路中起电压变换和阻抗变换等作…

Taro+react开发(73):Taro.createSelectorQuery

Taro.nextTick(() > {// 使用 Taro.nextTick 模拟 setData 已结束&#xff0c;节点已完成渲染Taro.createSelectorQuery().in(isH5 ? this : this.$scope).select(".dynamic-detail-content-text").fields({ size: true }).exec(res > {if (!res[0]) return;c…

ls mac 显示最近修改日期_Find Any File for Mac(Mac本地文件搜索工具)

今天小编给大家带来的Find Any File mac是Mac平台上的一款本地文件搜索查找工具&#xff0c;可以让你在本地磁盘上快速搜索、查找你需要的文件。甚至是隐藏文件都逃不出Find Any File mac的查询&#xff0c;并且支持以文件名称&#xff0c;建立或修改日期&#xff0c;大小&…