| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2164 人关注过本帖
标题:如何将一个字符串顺序化?
取消只看楼主 加入收藏
复旦
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:81
专家分:124
注 册:2018-10-29
结帖率:100%
收藏
已结贴  问题点数:15 回复次数:7 
如何将一个字符串顺序化?
比如有几个字符串
s[0]="awervd";
s[1]="ethbvasdf";
...
然后按照英语字母的顺序把每个字符串顺序化之后得到
s[0]="adervw";
s[1]="abdefhst";
...

想这样做的话,要怎么做?

谢谢!
搜索更多相关主题的帖子: 字符串 顺序 英语 字母 
2018-11-12 02:05
复旦
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:81
专家分:124
注 册:2018-10-29
收藏
得分:0 
好像您没正确理解了我的意思。
我的意思是怎么把每一个字符串顺序化。
比如EDASB变成ABDES。
您写的代码是输出同样字符串的个数吧。
2018-11-12 12:15
复旦
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:81
专家分:124
注 册:2018-10-29
收藏
得分:0 
感谢两位大佬的指教。
rjsp大佬,可以简单说明一下您写的代码吗?  size_t buf之类的,看不懂。
rohalloway大佬,用您的办法的时候遇到了一些问题。 字符串利用muiltiset<char>之前怎么转换成char然后输入到容器里面?

#include "stdafx.h"
#include <string>
#include <set>
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;

void sortStr (string* strp,int length)
{
    multiset<char> ms;
    char* p;
    for (int i=0;i<length;i++)
    {
        p=(char*)strp.c_str();
        ms.insert((char)strp[i]);
    }
    multiset<char>::iterator iter = ms.begin();
    for (int i=0;i<length;i++)
    {
        *(strp+i)=*iter;
        iter++;
    }
}



int main()
{
    string s[5];
    string * strp;
    int length;
    s[0]="asdfa";
    s[1]="awefscv";
    s[2]="awefascv";
    s[3]="tyjfbs";
    s[4]="mryutfnd";
   
    for (int i=0;i<5;i++)
    {
        strp=&s[0];
        length=s[0].length();
        sortStr(strp,length);
        cout << s[i] << endl;
    }

    system("pause");
    return 0;
}

转换char的时候出错。
2018-11-12 21:58
复旦
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:81
专家分:124
注 册:2018-10-29
收藏
得分:0 
rjsp大佬,还有个问题。
您写的代码在linux vim编辑器里写了然后用g++编译的时候报错,说CHAR_MAX,CHAR_MIN,buf没有定义。
我里面写了 #include<string>  #inlcude <map> using namespace std;
这是为什么呢?
谢谢!
2018-11-12 22:57
复旦
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:81
专家分:124
注 册:2018-10-29
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册

2018-11-13 16:21
复旦
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:81
专家分:124
注 册:2018-10-29
收藏
得分:0 
问题已经解决了。原来没写#include <climits>
不过还有一个问题。 这是我代码的主函数。 主函数上面是f00函数,也就是前面发的图片。
执行./a.out后,没有输出任何结果。 哪里出问题了呢?

图片附件: 游客没有浏览图片的权限,请 登录注册
2018-11-13 16:31
复旦
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:81
专家分:124
注 册:2018-10-29
收藏
得分:0 
问题已经解决了。原来没写#include <climits>
不过还有一个问题。 这是我代码的主函数。 主函数上面是f00函数,也就是前面发的图片。
执行./a.out后,没有输出任何结果。 哪里出问题了呢?

图片附件: 游客没有浏览图片的权限,请 登录注册
2018-11-13 16:32
复旦
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:81
专家分:124
注 册:2018-10-29
收藏
得分:0 
感谢rohalloway大佬!
代码正常运行。原来不用搞得那么复杂。
2018-11-13 16:43
快速回复:如何将一个字符串顺序化?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020862 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved