冒泡排序的C++写法
时间: 2023-12-07 20:38:59 浏览: 79
以下是冒泡排序的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]) {
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 << "Sorted array: ";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
相关问题
C++数组排序冒泡写法
C++数组排序冒泡写法如下:
```c++
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;
}
}
}
}
```
C++ 冒泡排序代码怎么写?
### 回答1:
冒泡排序代码的写法可以有不同的实现方式,具体可以参考下面的代码:for i in range(len(list)-1):
for j in range(len(list)-i-1):
if list[j] > list[j+1]:
list[j], list[j+1] = list[j+1], list[j]
### 回答2:
冒泡排序是一种简单直观的排序算法。其基本思想是反复地交换相邻的未按顺序的元素,直到所有元素按照顺序排列。以下是冒泡排序的代码实现:
```
def bubble_sort(arr):
n = len(arr) # 获取数组长度
for i in range(n - 1): # 迭代n-1次
for j in range(n - 1 - i): # 每次迭代比较次数减少
if arr[j] > arr[j + 1]: # 如果前面元素大于后面元素,则进行交换
arr[j], arr[j + 1] = arr[j + 1], arr[j] # 交换元素位置
return arr
```
在这段代码中,首先通过`len(arr)`获取数组的长度`n`。然后使用两个嵌套的`for`循环,外循环控制迭代次数,内循环用于比较相邻元素并进行交换。内循环每次都会让比较的次数减少,因为每次迭代都会将已排序的最大元素移到数组的最后,不再参与比较。通过比较相邻元素的大小,如果前一个元素大于后一个元素,则进行交换。最后,返回排序后的数组。
冒泡排序的时间复杂度是O(n^2),其中n是数组的长度。
### 回答3:
冒泡排序是一种简单的排序算法,其基本思想是通过重复比较相邻的两个元素,如果顺序不对则交换,直到整个序列有序为止。以下是一种冒泡排序的代码实现:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n):
# 每一轮比较后最大的元素都会被移到末尾,因此每次比较的元素个数会减少
for j in range(0, n-i-1):
# 如果相邻的两个元素顺序不对,则交换它们
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
```
以上的冒泡排序代码通过两层循环,外层循环控制比较的轮数,内层循环进行具体的比较和交换操作。通过不断地比较相邻元素,每轮排序后最大的元素都会被移到末尾,最终整个序列将按升序排列。
该代码接受一个数组作为输入,对数组进行原地排序并返回排序后的结果。例如,对于输入数组 `[4, 2, 7, 1, 5]`,调用 `bubble_sort([4, 2, 7, 1, 5])` 将返回 `[1, 2, 4, 5, 7]`。
阅读全文