玄关求解,大佬救救我
查看原帖
玄关求解,大佬救救我
1281336
sml259楼主2024/10/12 09:51

我想知道为什么不能直接一个结构体,然后让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;//处理得到处理后的字符串序列
}
2024/10/12 09:51
加载中...