我正在尝试通过交换指针对 char 指针数组(char * _string)进行排序。
我有这个方法,我想做的是使用我从 _string 获得的值并通过不操作 _string 对它们进行排序,但我也将其交给该方法的空辅助数组(char * _output)。
谁能帮助我并告诉我我做错了什么?
void sortAsc(char* _string, char* _output)
{
int length = strlen(_string);
// output and string now point to the same area in the memory
_output = _string;
for( int i = 0; i < length; i++) {
for( int j = 0; j < length; j++) {
if( *(_output) > (_output[j] ) ) {
// save the pointer
char* tmp = _output;
// now output points to the smaller value
_output = _output+j;
// move up the pointer to the smaller value
_output + j;
// now the pointer of the smaller value points to the higher value
_output = tmp;
// move down to where we were + 1
_output - j + 1;
}
}
}
//_output[length]='\0';
//delete chars;
}
在我的主要方法中,我做了这样的事情:
char * string = {"bcdae"};
char * output = new char[5];
sortAsc(string, output);
在该代码之后,我希望输出数组包含排序值。