玄关求解,大佬救救我

P1439 【模板】最长公共子序列

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

随机数部分不用管,但是不能这样排序吗


|