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开头的数字,然后是 ...
随机推荐
- 【转】android布局属性详解
LinearLayout布局: 线性版面配置,在这个标签中,所有元件都是按由上到下的排队排成的.在这个界面中,我们应用了一个 LinearLayout的布局,它是垂直向下扩展的 ,所以创建的布局XML ...
- mysql中出现的Data truncated for column
mysql中想一个数据库中插入一条记录时,有可能因为好多原因,会出现Data truncated for column XXXXX的错误,这是因为你的数据类型的长度不一致导致的,仔细查看一下数据类型的 ...
- 回调函数、Java接口回调 总结
谈到回调,我们得先从回调函数说起,什么叫回调函数呢? 回调函数是什么? 百度百科的解释:回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用 ...
- webdriver(python) 学习笔记三
知识点:简单的对象定位 对象的定位应该是自动化测试的核心,要想操作一个对象,首先应该识别这个对象.一个对象就是一个人一样,他会有各种的特征(属性),如比我们可以通过一个人的身份证号,姓名,或者他住在哪 ...
- 试验Windows Embedded Standard 7 Service Pack 1 Evaluation Edition
=========================================== 是否支持再使用 RT 7 Lite 精简 ? ================================= ...
- ASP.NET性能优化小结(ASP.NET&C#)
ASP.NET: 一.返回多个数据集 检查你的访问数据库的代码,看是否存在着要返回多次的请求.每次往返降低了你的应用程序的每秒能够响应请求的次数.通过在单个数据库请求中返回多个结果集,可以减少与数据库 ...
- Motan:目录结构
motan是由maven管理的,在最外层的pom.xml中可以看出这个项目有多个模块组成. <modules> <module>motan-core</module> ...
- PHP的MySQL扩展:PHP访问MySQL的常用扩展函数
来源:http://www.ido321.com/1024.html 一.PHP连接数据库及基本操作 MySQL采用的是’客户机/服务器’架构.使用PHP安装的MySQL扩展函数,和直接使用客户端软件 ...
- Codeforces Round #362
A - Pineapple Incident #pragma comment(linker, "/STACK:102c000000,102c000000") #include &l ...
- ACM1998
/* 魔方阵,古代又称“纵横图”,是指组成元素为自然数1.2…n的平方的n×n的方阵, 其中每个元素值都不相等,且每行.每列以及主.副对角线上各n个元素之和都相等. 输入一个奇数,实现奇数魔方阵. 附 ...