c++二维数组按大小排序
时间: 2023-06-18 13:05:57 浏览: 141
可以使用STL中的sort函数,结合自定义的比较函数,来对二维数组进行排序。以下是一个示例代码:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int *a, int *b) {
return a[0] < b[0];
}
int main() {
int arr[5][2] = {{3, 5}, {1, 2}, {6, 4}, {2, 4}, {5, 1}};
sort(arr, arr+5, cmp);
for(int i=0; i<5; i++) {
cout << arr[i][0] << " " << arr[i][1] << endl;
}
return 0;
}
```
上述代码中,cmp函数用于比较二维数组的第一列元素的大小,sort函数默认按照小于号(<)进行排序,因此可以直接传入该自定义比较函数。最后输出排好序的二维数组即可。
相关问题
c++ 二维数组的冒泡排序
好的,以下是 C++ 二维数组的冒泡排序示例代码:
```C++
#include <iostream>
using namespace std;
void bubbleSort(int arr[][3], int size)
{
for (int i = 0; i < size; i++) {
for (int j = 0; j < 3; j++) {
for (int k = 0; k < 3 - j - 1; k++) {
if (arr[i][k] > arr[i][k + 1]) {
swap(arr[i][k], arr[i][k + 1]);
}
}
}
}
}
int main()
{
int arr[3][3] = { {3, 2, 1}, {6, 5, 4}, {9, 8, 7} };
int size = 3;
cout << "Before sorting:" << endl;
for (int i = 0; i < size; i++) {
for (int j = 0; j < 3; j++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
bubbleSort(arr, size);
cout << "After sorting:" << endl;
for (int i = 0; i < size; i++) {
for (int j = 0; j < 3; j++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
输出结果:
```
Before sorting:
3 2 1
6 5 4
9 8 7
After sorting:
1 2 3
4 5 6
7 8 9
```
这个示例代码中,我们定义了一个 3x3 的二维数组,然后使用 bubbleSort 函数对其进行冒泡排序。在 bubbleSort 函数中,我们使用了三重循环来遍历整个二维数组,并在内层循环中使用交换操作来实现冒泡排序。最后,我们在 main 函数中输出排序前后的数组。
C++ 二维数组的冒泡排序
好的,以下是 C++ 二维数组的冒泡排序示例代码:
```C++
#include <iostream>
using namespace std;
void bubbleSort(int arr[][3], int size)
{
for (int i = 0; i < size; i++) {
for (int j = 0; j < 3; j++) {
for (int k = 0; k < 3 - j - 1; k++) {
if (arr[i][k] > arr[i][k + 1]) {
swap(arr[i][k], arr[i][k + 1]);
}
}
}
}
}
int main()
{
int arr[3][3] = { {3, 2, 1}, {6, 5, 4}, {9, 8, 7} };
int size = 3;
cout << "Before sorting:" << endl;
for (int i = 0; i < size; i++) {
for (int j = 0; j < 3; j++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
bubbleSort(arr, size);
cout << "After sorting:" << endl;
for (int i = 0; i < size; i++) {
for (int j = 0; j < 3; j++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
输出结果:
```
Before sorting:
3 2 1
6 5 4
9 8 7
After sorting:
1 2 3
4 5 6
7 8 9
```
这个示例代码中,我们定义了一个 3x3 的二维数组,然后使用 bubbleSort 函数对其进行冒泡排序。在 bubbleSort 函数中,我们使用了三重循环来遍历整个二维数组,并在内层循环中使用交换操作来实现冒泡排序。最后,我们在 main 函数中输出排序前后的数组。
阅读全文