C++中sort怎么对结构体数组中的字符串数组排序?

会用qsort排,但是sort只会排结构体中的string对象,sort能拍RT吗??请各位帮帮忙。。。... 会用qsort排,但是sort只会排结构体中的string对象,sort能拍RT吗??请各位帮帮忙。。。 展开
 我来答
百度网友009594e
2015-07-24 · TA获得超过436个赞
知道小有建树答主
回答量:91
采纳率:0%
帮助的人:50.2万
展开全部

//我写的一个简单的使用C++ sort的例子,供你参考

#include <iostream>
#include <algorithm>

typedef struct _TestSortArray
{
    char _arrStr[16];
}TestSortArray;

int main()
{
    TestSortArray tsa;
    tsa._arrStr[15] = 0;

    char a = 'z';
    for (int i = 0;i < 15; ++i)
    {
        tsa._arrStr[i] = a;
        --a;
    }
    std::cout << "Previous string is:" << tsa._arrStr << std::endl;

    std::sort(tsa._arrStr,tsa._arrStr + 15);

    std::cout << "After sort,string is:" << tsa._arrStr << std::endl;

    system("pause");
    return 0;
}


更多追问追答
追问
其实我的意思是这样的:
TestSortArray tsa[20];
for(int i=0;i<20;i++)
scanf("%s",tsa[i]. _arrStr);
然后对结构体TestSortArray对象数组tsa按照字符串Ascii码进行排序
追答
for(int i = 0; i < 20; ++i)
{
std::sort(tsa[i]._arrStr, tsa[i]._arrStr + 15); //字符数组大小为16,留出结束符位置

//若是把sort方法封装到TestSortArray类中并对外提供一个Sort()接口的话,还可以这样写

//tsa[i].Sort();

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式