对比100*100二维数组冒泡和选择排序的c++代码
时间: 2024-12-21 15:24:42 浏览: 3
用c++编写代码对二维数据进行冒泡排序的源代码
冒泡排序和选择排序都是简单的排序算法,但它们的时间复杂度和效率有所不同。下面是使用C++编写的基本冒泡排序和选择排序对一个100x100二维整数数组进行排序的示例:
**冒泡排序 (Bubble Sort):**
```cpp
#include <iostream>
using namespace std;
void bubbleSort(int arr[100][100], int rows, int cols) {
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols - 1; ++j) {
if (arr[i][j] > arr[i][j + 1]) {
// 交换元素
swap(arr[i][j], arr[i][j + 1]);
}
}
}
}
// 主函数演示
int main() {
int arr[100][100]; // 初始化二维数组...
// 填充数据...
int rows = sizeof(arr) / sizeof(arr[0]); // 获取行数
int cols = sizeof(arr[0]) / sizeof(arr[0][0]); // 获取列数
bubbleSort(arr, rows, cols);
// 打印排序后的数组...
return 0;
}
```
**选择排序 (Selection Sort):**
```cpp
#include <iostream>
using namespace std;
void selectionSort(int arr[100][100], int rows, int cols) {
for (int i = 0; i < rows; ++i) {
int minIndex = i;
for (int j = i + 1; j < cols; ++j) { // 避免比较自身
if (arr[j][i] < arr[minIndex][i]) {
minIndex = j;
}
}
// 交换最小值
swap(arr[minIndex][i], arr[i][i]);
}
}
// 主函数演示
int main() {
int arr[100][100]; // 初始化二维数组...
// 填充数据...
int rows = sizeof(arr) / sizeof(arr[0]);
int cols = sizeof(arr[0]) / sizeof(arr[0][0]);
selectionSort(arr, rows, cols);
// 打印排序后的数组...
return 0;
}
```
阅读全文