九度oj-字符串后缀排序
2018-03-18 09:16
337 查看
题目描述
对于一个字符串,将其后缀子串进行排序,例如grain 其子串有: grain rain ain in n 然后对各子串按字典顺序排序,即: ain,grain,in,n,rain输入描述:
每个案例为一行字符串。
输出描述:
将子串排序输出示例1输入:grain 输出:ain grain in n rain思路:这道题其实主要考察对二维数组的排序,即c中的qsort或者c++中sort的用法# include<stdio.h>
//# include<stdlib.h>
# include<string.h>
# include<algorithm>
using namespace std;
//使用内置函数qsort,对二维字符数组排序
//int cmp(const char *str1,const char *str2)
/*int cmp(const void *str1,const void *str2)
{
return strcmp((char *)str1,(char *)str2);//默认从小到大排序,如果从大到小,则写成*(char *)(str2)-*(char *)(str1)
} */
bool cmp2(const char *str1,const char *str2)
{
return strcmp(str1,str2)<0;
}
int main()
{
char *str2[200];//char *str2[],这里的str2为一个数组,里面的每个元素为char*
char ch[100];//初始化不宜过大
int i=0;
scanf("%s",ch);
for(i=0;i<strlen(ch);i++)
{
str2[i]=ch+i;//这里不能采用strcpy()的格式,格式要求不一样
}
sort(str2,str2+strlen(ch),cmp2);
for(i=0;i<strlen(ch);i++)
{
printf("%s ",str2[i]);
}
return 0;
}转载
/********************************* * 日期:2013-2-13 * 作者:SJF0115 * 题号: 九度OJ 题目1099:后缀子串排序 * 来源:http://ac.jobdu.com/problem.php?pid=1099 * 结果:AC * 来源:2010年上海交通大学计算机研究生机试真题 * 总结: **********************************/ #include<stdio.h> #include<stdlib.h> #include<string.h> //排序函数(二维字符串数组) int cmp(const void *a,const void *b){ return (strcmp((char*)a,(char*)b)); } char str[1000][1000]; char word[1000]; int main() { int i,len; //freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin); while(scanf("%s",word) != EOF) { len = strlen(word); for(i = 0;i < len;i++){ //将其后缀子串复制到str数组中 strcpy(str[i],word+i); } //排序 qsort(str,len,sizeof(str[0]),cmp); //输出 for(i = 0;i < len;i++){ puts(str[i]); } } return 0; }
相关文章推荐
- 九度OJ 1099:后缀子串排序 (排序)
- 九度OJ 1135:字符串排序 (排序)
- 九度oj 题目1099:后缀子串排序
- 九度OJ 1066 字符串排序
- 九度 OJ 1066:字符串排序
- 九度oj 题目1066:字符串排序
- 九度OJ 1099 后缀子串排序 JAVA
- 九度OJ 1066 字符串排序
- 九度OJ 1099 后缀子串排序
- 九度OJ 1066 字符串排序
- 九度OJ 1066 清华01机试题之字符串排序
- 【剑指offer】【九度oj】字符串的排序
- <九度 OJ>题目1099:后缀子串排序
- 九度OJ-1099:后缀子串排序
- 九度OJ 题目1099:后缀子串排序
- 九度OJ1099:后缀子串排序解题报告
- 九度OJ 1054:字符串内排序 (排序)
- 九度OJ 1066:字符串排序 (排序)
- 九度oj-1135-字符串排序
- 九度OJ 1054:字符串内排序 (排序)