我得到一个二维数字数组,其每一行都单独排序。我需要按排序顺序(升序)打印整个矩阵。谁能告诉如何有效地做到这一点及其时间复杂性。如果您可以编码,请粘贴您的 C++ 代码。
问问题
1428 次
1 回答
0
此代码可能会有所帮助!
unsigned char arr[columnsize][rowsize];
unsigned char out[columnsize*rowsize];
for(unsigned int i=0; i<columnsize*rowsize; i++){
char buffer=1;
bool brk=false;
for(unsigned int y=0; y<rowsize; y++){
for(unsigned int x=0; x<columnsize; x++){
if(arr[x][y] <= buffer){
buffer = arr[x][y];
arr[x][y] = 0;
brk = true;
}
if(brk) break;
}
if(brk) break;
}
out[i] = buffer;
}
于 2013-07-05T09:55:25.930 回答