社区
C语言
帖子详情
求字符串数据排序
kjeny2002
2006-12-03 05:00:07
char* strs[100];
strs[0] = "Made";
strs[1] = "in";
strs[2] = "China";
我想要得到的排序是根据字串长度来排序
即结果是
strs[0] = "China";
strs[1] = "Made";
strs[2] = "in";
...全文
430
17
打赏
收藏
求字符串数据排序
char* strs[100]; strs[0] = "Made"; strs[1] = "in"; strs[2] = "China"; 我想要得到的排序是根据字串长度来排序 即结果是 strs[0] = "China"; strs[1] = "Made"; strs[2] = "in";
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
listart
2006-12-05
打赏
举报
回复
更正:long cstr(1);
listart
2006-12-05
打赏
举报
回复
关于字符串分割函数在c/c++下超级简单
遍历每个字符,判断如果是分割符就替换成'\0',同时记录下替换的次数就是分割后的字符串个数了
char *pstr;
char splitcharset[] = "|-"; //分割字符集
...
char *pch = pstr;
long cstr(0);
while (*pch){
if (strchr(splitcharset, *pch)){
*pch = '\0';
cstr++;
}
}
listart
2006-12-05
打赏
举报
回复
re:
listart(开始) ( ) 信誉:100 Blog 2006-12-3 22:56:01 得分: 0
好像离题了,楼主题目显然是普通的字符串大小进行比较,不是按长度什么的
===========================================
不明白了,难道不是楼主自己说的“我想要得到的排序是根据字串长度来排序”吗?
果然是我离题了,不过答案还是一样的,不过改写下strcmp(str1,str2)
排序万变不离其中,不同场合使用不同的排序算法或者组合不同的算法(一般情况下)
不管什么算法,不管按照什么排序,只要有一个比较函数能够得出2个元素的比较值即可。
建议使用STL中的排序相关部分
kjeny2002
2006-12-04
打赏
举报
回复
楼上说得不错。不过我现在还想要一个字符串分割函数。
要类似
char *strtok(char *s, const char *delim);
char *strtok_r(char *s, const char *delim, char **ptrptr);
的功能
int *split(const char *s,const char *delim,char **ptrptr);
晨星
2006-12-04
打赏
举报
回复
listart(开始) ( ) 信誉:100 Blog 2006-12-3 22:56:01 得分: 0
好像离题了,楼主题目显然是普通的字符串大小进行比较,不是按长度什么的
===========================================
不明白了,难道不是楼主自己说的“我想要得到的排序是根据字串长度来排序”吗?
晨星
2006-12-04
打赏
举报
回复
To:fcunui_wzf()
strupr是C语言的标准库函数吗?偶怎么在C99中找不到啊?
listart
2006-12-03
打赏
举报
回复
好像离题了,楼主题目显然是普通的字符串大小进行比较,不是按长度什么的
其实按普通排序做就可以了
快速,冒泡,随便选个排序算法都可以
不过就是比较函数改成strcmp(str1,str2)即可
注:数组用字符串数组表示。
kjeny2002
2006-12-03
打赏
举报
回复
split
todototry
2006-12-03
打赏
举报
回复
mark
kjeny2002
2006-12-03
打赏
举报
回复
谁有字串分割函数
VCLIFE
2006-12-03
打赏
举报
回复
string.length()比较大小
fcunui_wzf
2006-12-03
打赏
举报
回复
函数名: strupr
功 能: 将串中的小写字母转换为大写字母
用 法: char *strupr(char *str);
程序例:
#include <stdio.h>
#include <string.h>
int main(void)
{
char *string = "abcdefghijklmnopqrstuvwxyz", *ptr;
/* converts string to upper case characters */
ptr = strupr(string);
printf("%s\n", ptr);
return 0;
}
C中的标准函数
晨星
2006-12-03
打赏
举报
回复
小写转大写,可以调用_strupr函数,不过这并不是个C语言的标准库函数,但VC中是有的。
#include <stdlib.h>
如果实在不愿意调用非标准设施,自己写一个简单的只针对ASCII字符的就是了,比如:
void string_upper(char* s) {
while(*s) {
if(islower(*s))
*s = toupper(*s);
s++;
}
}
不过不要使用这个函数来作用于你原来程序中的那些常量字符串,常量字符串是不能被修改的。
晨星
2006-12-03
打赏
举报
回复
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int compare(const void *v1, const void *v2);
int main() {
char* strs[] = {"Made", "in", "China"};
int count = sizeof(strs) / sizeof(*strs);
int i;
qsort(strs, count, sizeof(*strs), compare);
for(i = 0; i < count; i++) {
printf("%s\n", strs[i]);
}
return 0;
}
int compare(const void *v1, const void *v2) {
const char* s1 = *(const char**)v1;
const char* s2 = *(const char**)v2;
return (int)(strlen(s2) - strlen(s1));
}
kjeny2002
2006-12-03
打赏
举报
回复
另外。怎么把字符串小写变成大写
如China ---> CHINA
kjeny2002
2006-12-03
打赏
举报
回复
有代码不
todototry
2006-12-03
打赏
举报
回复
可以把长度存在一个数组里排序
Java三种方法实现
字符串
排序
文章目录Java
字符串
排序
排序
方法概述键索引计数法低位优先的
字符串
排序
(LSD)高位优先的
字符串
排序
(MSD)三向
字符串
快速
排序
排序
方法概述 对于许多应用,决定顺序的键都是
字符串
。本篇讲述如何利用
字符串
的特殊...
算法-22-
字符串
的
排序
算法(四种
排序
)
2、
字符串
排序
方法 3、键索引计数法 3.1、第一步:频率统计 3.2、第二步:将频率转换为索引 3.3、第三步:
数据
分类
排序
3.4、第四步:回写
排序
好的数组 4、低位优先的
字符串
排序
5、高位优先的
字符串
排序
1...
字符串
排序
算法
假定给定一个
字符串
数字,要
求
将该
字符串
数组
排序
。 规定
字符串
中的字符全集基数为R,即
字符串
中的每个字符都是字母表中某一个字符,其索引为[0,R)。 键索引计数法 假定给定的
字符串
数组为单个字符数组,假定...
C语言:利用指针数组指向
字符串
,对多个
字符串
进行
排序
(冒泡
排序
法)
指针数组比较适合用来指向若干个
字符串
,使
字符串
处理起来更加灵活 例:将若干
字符串
按字母顺序(从小到大)输出 思路: 定义指针数组name,用各
字符串
对它进行初始化(即把各
字符串
中的第1个字符的地址赋给指针...
编写Java程序,实现
字符串
统计和处理
将出现最多次数的字母字母替换成“-”,并将该
字符串
按照“-”进行拆分成
字符串
数组,最后对该
字符串
数组进行遍历。 实现思路: 统计用户在控制台中输入的
字符串
中出现字母次数最多的算法 实现代码: char...
C语言
69,377
社区成员
243,075
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章