C++能不能自定义字符串的大小,并且不按ASCII码对其进行排序?

来源:百度知道 编辑:UC知道 时间:2024/07/05 08:12:40
C++能不能将string str[]={……}这种行式的,{}里面的字符串自定义大小,并且按自定义的大小对其进行排序?
请给出代码,谢谢
string str[]={"ag","vg","bh","ji","ks","pw"}

不能
用链表 字符串 动态申请内存
代码:
typedef struct St_1
{
char *cData;
St_1 *pNext;
}
使用时候 HeapAlloc 大小为sizeof(St_1)+X //X为你希望第一的大小
cData指向X内存
然后用pNext把整个数据都链起来!!! 排序就不用说了吧
OK 搞定

请使用下面的代码:
要按自定义的大小排序,只需修改CompareStr()

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>

using namespace std;

typedef vector<string> StringVector;

bool CompareStr( const string s1, const string s2 )
{
if( s1 > s2 ) return true;
else return false;
}

void main()
{

int n = 6;
int i;
StringVector sv;

string str[]={"ag","vg","bh","ji","ks","pw"};

for( i=0; i<n; i++ )
sv.push_back( str[i] );

sort( sv.begin(), sv.end(), CompareStr );

// output to see we are rig