sml259 @ 2024-10-12 09:51:32
我想知道为什么不能直接一个结构体,然后让b数组部分,根据a数组部分大小排序。
typedef struct {
int a;
int b; ;
}CHAR;
CHAR c[1000010];
void randomCHARGet(CHAR* ch, int len) {
//ASCII码中有128个字符,其中可显示字符有95个,大小为 32-126
for (int i = 1; i <= len; i++) {
ch[i].a = int(randomInt(32, 126));
ch[i].b = int(randomInt(32, 126));
}
}
void CHARGet(int* a, int* b, CHAR* c, int len) {
for (int i = 1; i <= len; i++) {
c[i].a = a[i];
c[i].b = b[i];
}
}
bool cmp(CHAR a, CHAR b) {
return a.a < b.a;//按照a的顺序排序
}
int* do_with(CHAR* ch, int len) {//处理字符串
sort(ch + 1, ch + len + 1, cmp);
int* Ch = new int[100010];//分配数组空间
for (int i = 1; i <= len; i++) {
Ch[i] = ch[i].b;
}
return Ch;//处理得到处理后的字符串序列
}
by sml259 @ 2024-10-12 09:52:08
随机数部分不用管,但是不能这样排序吗