cmp排序hdoj 1106排序
上班之余抽点时间出来写写博文,希望对新接触的朋友有帮助。今天在这里和大家一起学习一下cmp排序
/*标题还是比拟的水吧,但是花的时间还是比拟的多,心不够静*/
#include <iostream>
#include <algorithm>
#define MAX 1001
using namespace std;
/*15MS 296K*/
typedef struct _str
{
char *str;
int len;
}str; int cmp(const void *a,const void *b)
{
if((*(str *)a).len!=(*(str *)b).len)
return ((*(str *)a).len-(*(str *)b).len);
else
return strcmp((*(str *)a).str,(*(str *)b).str);
} int main()
{
char *a=new char[MAX];
str *b;
while(cin>>a)
{
b=new str[MAX];
int index=0;
int l=0;
for(int i=0;i<(l=strlen(a));i++)
{
bool flag=false;
if(a[i]=='5') continue;//一个5的情况
while(i<l)
{
if(a[i]!='0')
{
break;
}
i++;
} char *s=new char[11];//断绝的s
int j=0;
while(i<l&&a[i]!='5')
{
s[j++]=a[i];
i++;
}
if(j==0)
{
s[j++]='0';
}
s[j]='\0';
b[index].len=j;
b[index++].str=s;
}
qsort(b,index,sizeof(b[0]),cmp);
for(int i=0;i<index-1;i++)
cout<<b[i].str<<" ";
cout<<b[index-1].str<<endl;
delete []b;
}
return 0;
}
我拽着春姑娘的衣裙,春姑娘把我带到了绿色的世界里。
#include <iostream>
#include <algorithm>
#include <sstream>
#define MAX 1001
using namespace std;
/*0MS 372K*/
int cmp(const void *a,const void *b)
{
return ((*(int *)a)-(*(int *)b)); //小到大排序
} int main()
{
char *a=new char[MAX];
while(cin>>a)
{
int *b=new int[MAX];
int l=strlen(a);
for(int i=0;i<l;i++)
{
if(a[i]=='5')
a[i]=' '; //把5转化成空格
} //利用string流来消除空格
stringstream sin(a);
stringstream s;//把提出的string转化成int
string num;
int index=0;
while(sin>>num)
{
s.clear();
s<<num;
int nnum;
s>>nnum;
b[index++]=nnum;
} qsort(b,index,sizeof(b[0]),cmp);
for(int i=0;i<index-1;i++)
cout<<b[i]<<" ";
cout<<b[index-1]<<endl;
}
system("pause");
return 0;
}
/*首先说第一段代码:
run了很多次,然后出现很多的错误,这里总结一下:第一,cmp函数的错误应用,cmp表示的是(a,b)的巨细关系。第二:把每一个段给分出来是有几种情况还是没斟酌完全,斟酌问题的时候还是希望斟酌一下比拟特殊的情况。第三:坑爹的错误,presentation error这个我就不说什么了
第二段代码:
对于这类模式的程序是很好用的,把一串字符串转化成一串数字(double和int都可以)把数字加到一个字符串上去(总的来说就是触及字符串的添加删除操作都可以斟酌这个模板)
接下来就是闲话了:
昨天刚考完试,还没调整过去,要尽快的调整,心不够静。第二,写代码的时候还是不适于磕瓜子和出去逛。服膺。。。。。。。。*/
文章结束给大家分享下程序员的一些笑话语录: 问答
Q:你是怎么区分一个内向的程序员和一个外向的程序员的? A:外向的程序员会看着你的鞋和你说话时。
Q:为什么程序员不能区分万圣节和圣诞节? A:这是因为 Oct 31 == Dec 25!(八进制的 31==十进制的 25)
---------------------------------
原创文章 By
cmp和排序
---------------------------------
cmp排序hdoj 1106排序的更多相关文章
- hdoj 1106 排序
排序 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...
- [大牛翻译系列]Hadoop(5)MapReduce 排序:次排序(Secondary sort)
4.2 排序(SORT) 在MapReduce中,排序的目的有两个: MapReduce可以通过排序将Map输出的键分组.然后每组键调用一次reduce. 在某些需要排序的特定场景中,用户可以将作业( ...
- 对JavaScript对象数组按指定属性和排序方向进行排序
引子 在以数据为中心的信息系统中,以表格形式展示数据是在常见不过的方式了.对数据进行排序是必不可少的功能.排序可以分为按单个字段排序和按多个字段不同排序方向排序.单字段排序局限性较大,不能满足用户对数 ...
- python 字典排序,列表排序详细
在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的.因此,为了使统计得到的结果更方便查看需要进行排序.Python中字典的排序分为按“键”排序和按“值”排序. 1.按“值 ...
- Go语言入门篇-基本类型排序和 slice 排序
参见博客:https://blog.csdn.net/u010983881/article/details/52460998 package main import ( "sort" ...
- 算法与数据结构(十三) 冒泡排序、插入排序、希尔排序、选择排序(Swift3.0版)
本篇博客中的代码实现依然采用Swift3.0来实现.在前几篇博客连续的介绍了关于查找的相关内容, 大约包括线性数据结构的顺序查找.折半查找.插值查找.Fibonacci查找,还包括数结构的二叉排序树以 ...
- 计数排序和桶排序(Java实现)
目录 比较和非比较的区别 计数排序 计数排序适用数据范围 过程分析 桶排序 网络流传桶排序算法勘误 桶排序适用数据范围 过程分析 比较和非比较的区别 常见的快速排序.归并排序.堆排序.冒泡排序等属于比 ...
- 冒泡排序 & 选择排序 & 插入排序 & 希尔排序 JavaScript 实现
之前用 JavaScript 写过 快速排序 和 归并排序,本文聊聊四个基础排序算法.(本文默认排序结果都是从小到大) 冒泡排序 冒泡排序每次循环结束会将最大的元素 "冒泡" 到最 ...
- 将1~n个整数按字典顺序进行排序,返回排序后第m个元素
给定一个整数n,给定一个整数m,将1~n个整数按字典顺序进行排序,返回排序后第m个元素.n最大可为5000000.字典排序的含义为:从最高位开始比较.1开头的数字排在最前面,然后是2开头的数字,然后是 ...
随机推荐
- IPicture、BITMAP、HBITMAP和CBitmap的关系
1.有关IPicture加载图片后直接Render到内存DC的问题(HBITMAP转换IPicture)Picture的方法get_Handle可以直接得到图片的句柄 IPicture *pIPict ...
- <六>面向对象分析之UML核心元素之业务实体
一:基本概念
- <一>SQL优化1-4
第一条:去除在谓词列上编写的任何标量函数 --->在select 显示列上使用标量函数是可以的.但在where语句后的过滤条件部分对列使用函数,需要考虑.因为执行sql的引擎会因为 ...
- Android开发中常见的设计模式
对于开发人员来说,设计模式有时候就是一道坎,但是设计模式又非常有用,过了这道坎,它可以让你水平提高一个档次.而在android开发中,必要的了解一些设计模式又是非常有必要的.对于想系统的学习设计模式的 ...
- .NET/ASP.NET Routing路由(深入解析路由系统架构原理)http://wangqingpei557.blog.51cto.com/1009349/1312422
阅读目录: 1.开篇介绍 2.ASP.NET Routing 路由对象模型的位置 3.ASP.NET Routing 路由对象模型的入口 4.ASP.NET Routing 路由对象模型的内部结构 4 ...
- 打通ssh的方法
为了实现密码免输入,可以在安全的内网环境中打通ssh.linux和cygwin均可,步骤如下: 由A机去B机.在A生成密钥:ssh-keygen -t rsa,一路回车 将A的~/.ssh/id_rs ...
- Android常用控件之FragmentTabHost的使用
最近在学TabHost时发现TabActivity在API level 13以后不用了,所以就去寻找它的替换类,找到FragmentActivity,可以把每个Fragment作为子tab添加到Fra ...
- bjfu1100 圆环
这题也是2011百度之星的一道题.知道做法后代码极简单. 不过我做完后随便上网搜了一下,发现竟然还有很多不同的做法.别的做法我就不管了,我只把我的做法的原理说清楚.我做题时是按如下顺序逐步找到规律的: ...
- SSH 连接慢的解决方案详解
SSH 连接慢的解决方案详解 http://www.codeceo.com/article/ssh-slow.html
- <转>DNS服务系列之二:DNS区域传送漏洞的安全案例
DNS区域传送(DNS zone transfer)指的是一台备用服务器使用来自主服务器的数据刷新自己的域(zone)数据库.这为运行中的DNS服务提供了一定的冗余度,其目的是为了防止主的域名服务器因 ...