#include <iostream>
#include <algorithm>
void sortRows(int** arr, int rows, int* cols) {
for (int i = 0; i < rows; ++i) {
std::sort(arr[i], arr[i] + cols[i]);
}
}
int main() {
int rows = 3;
int cols[] = {4, 3, 5};
int** arr = new int*[rows];
arr[0] = new int[cols[0]]{5, 3, 7, 1};
arr[1] = new int[cols[1]]{9, 6, 4};
arr[2] = new int[cols[2]]{2, 8, 10, 4, 6};
sortRows(arr, rows, cols);
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols[i]; ++j) {
std::cout << arr[i][j] << " ";
}
std::cout << std::endl;
delete[] arr[i];
}
delete[] arr;
return 0;
}
sortRows
函数:
- 接受一个指向指针的指针
arr
,表示二维数组,rows
表示行数,cols
是一个数组,存储每一行的列数。
- 使用
std::sort
对每一行进行排序,std::sort
是 C++ 标准库提供的排序函数,它对给定范围内的元素进行升序排序。
main
函数:
- 定义行数
rows
和每一行的列数数组 cols
。
- 动态分配二维数组
arr
,并初始化每一行的数据。
- 调用
sortRows
函数对二维数组按行排序。
- 输出排序后的二维数组,并释放动态分配的内存,防止内存泄漏。