C++中sort怎么对结构体数组中的字符串数组排序?
会用qsort排,但是sort只会排结构体中的string对象,sort能拍RT吗??请各位帮帮忙。。。...
会用qsort排,但是sort只会排结构体中的string对象,sort能拍RT吗??请各位帮帮忙。。。
展开
1个回答
展开全部
//我写的一个简单的使用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();
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询