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开发中常见的设计模式
对于开发人员来说,设计模式有时候就是一道坎,但是设计模式又非常有用,过了这道坎,它可以让你水平提高一个档次.而在android开发中,必要的了解一些设计模式又是非常有必要的.对于想系统的学习设计模式的 ...
- Android-判断当前网络是否可用
1.声明权限 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 2. ...
- HDU5731 Solid Dominoes Tilings 状压dp+状压容斥
题意:给定n,m的矩阵,就是求稳定的骨牌完美覆盖,也就是相邻的两行或者两列都至少有一个骨牌 分析:第一步: 如果是单单求骨牌完美覆盖,请先去学基础的插头dp(其实也是基础的状压dp)骨牌覆盖 hiho ...
- IOS UIScrollView中 使用 touch 无法响应的问题
添加一个 Category 然后在使用到 UIScrollView 的文件里面 导入这个头文件 就可以 // // UIScrollView+UITouch.m // alarm // // ...
- IOC框架Ninject实践总结
原文地址:http://www.cnblogs.com/jeffwongishandsome/archive/2012/04/15/2450462.html IOC框架Ninject实践总结 一.控制 ...
- jQuery常用的正则表达式
[导读] 本文章提供了大量的jQuery正则表达式,有电话号码,密码,用户名,邮箱,哈能输入字符等,有需要的朋友可以参考一下. 代码如下复制代码 <!DOCTYPE html PUBLIC &q ...
- PHP $_SERVER的详细参数及说明
$_SERVER['PHP_SELF']#当前正在执行脚本的文件名,与documentroot相关. $_SERVER['argv']#传递给该脚本的参数. $_SERVER['argc']#包含传递 ...
- 微信公众平台开发(57)Emoji表情符号
微信公众平台开发 微信公众平台开发模式 企业微信公众平台 Emoji表情符号 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/crack-golden-egg ...
- [Hive - LanguageManual] Create/Drop/Alter Database Create/Drop/Truncate Table
Hive Data Definition Language Hive Data Definition Language Overview Create/Drop/Alter Database Crea ...
- SSHFS
SSHFS(SSH文件系统) 是一个文件系统客户端程序,使用它可以将远程服务器上的目录挂载在本地直接访问 可以在网站http://igikorn.com/sshfs-windows-8/内下载