写一个冒泡排序算法,用cPP
时间: 2024-03-09 21:05:11 浏览: 49
下面是用C++写的冒泡排序算法:
```c++
#include <iostream>
using namespace std;
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int arr[] = {5, 2, 7, 1, 9, 4, 3, 8, 6};
int n = sizeof(arr) / sizeof(arr[0]);
bubbleSort(arr, n);
cout << "Sorted array: ";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
该算法的基本思想是对相邻的两个元素进行比较,如果它们的顺序不正确就交换它们的位置。这个过程会多次进行,每次都会把最大的数移到最后面。最终,整个数组就会按照从小到大的顺序排列。
相关问题
用c++写一个冒泡排序算法
当然可以!以下是用C++编写的冒泡排序算法:
```cpp
#include <iostream>
using namespace std;
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
// 交换arr[j]和arr[j+1]
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
int arr[] = {64, 34, 25, 12, 22, 11, 90};
int n = sizeof(arr)/sizeof(arr[0]);
bubbleSort(arr, n);
cout << "排序后的数组:";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
这段代码使用了嵌套的循环来比较相邻的元素,并根据需要进行交换,以便将较大的元素逐步移动到数组的末尾。最终,数组将以升序排列。
希望这可以帮助到你!如果还有其他问题,请随时提问。
用C++写一段 冒泡排序算法
以下是C++实现的冒泡排序算法:
```cpp
#include <iostream>
using namespace std;
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
swap(arr[j], arr[j+1]);
}
}
}
}
int main() {
int arr[] = {5, 2, 9, 1, 5, 6};
int n = sizeof(arr) / sizeof(arr[0]);
bubbleSort(arr, n);
cout << "Sorted array: ";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
输出:
```
Sorted array: 1 2 5 5 6 9
```
冒泡排序的思路是从数组的第一个元素开始,如果当前元素比下一个元素大,那么就交换这两个元素的位置,直到数组中所有元素都被比较过一遍。这样一次比较可以将最大的元素移动到数组的最后一个位置。重复这个过程,每次比较的元素个数减少一,直到所有元素都被排序完成。
阅读全文