13,825
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <algorithm>
using namespace std;
//这个结构的内存布局和char[40]兼容
//用于作为sort算法的迭代器
struct array_t{
char data[40];
};
//比较,当然也可以写到array_t里的operator<方法
bool arrayless(array_t &a, array_t &b)
{
return memcmp(a.data,b.data,40) < 0;
}
int main(int argc, char* argv[])
{
//这里演示5组数据,你的25000000好大,不能放在栈里的
char data[5][40]={
"abc",
"123",
"你好~~",
"hello world",
"yun"
};
//转换成array_t*类型(我说过,是兼容的),把pData作为迭代器
array_t *pData = (array_t *)data;
//用sort算法排序,sort使用的就是快速排序算法
std::sort(pData, pData+5, arrayless);
//输出,看看是不是排好序了
for(int i=0; i<5; i++)
cout << data[i] << endl;
return 0;
}