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和排序
---------------------------------