帮我写一段排序算法
时间: 2023-07-22 10:18:11 浏览: 89
好的,这里提供一个简单的冒泡排序算法的示例:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
```
这个算法的基本思路是,从数组的第一个元素开始,依次比较相邻两个元素的大小,如果前面的元素比后面的元素大,则交换它们的位置。这样一次遍历之后,最大的元素就会被排到最后面。然后再从数组的第一个元素开始进行下一次遍历,直到所有元素都排好序。
冒泡排序的时间复杂度为 O(n^2),不适合对大规模数据进行排序,但是它的实现简单、易于理解,适合用于教学和小规模数据的排序。
相关问题
请帮我写一段排序算法的代码
答:// 冒泡排序算法
int[] array = {5, 2, 7, 1, 4};
for (int i = 0; i < array.length - 1; i++) {
for (int j = 0; j < array.length - i - 1; j++) {
if (array[j] > array[j + 1]) {
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
帮我写一段排序算法,实现对数组的排序,C语言
在C语言中,我们可以使用经典的冒泡排序算法来对整数数组进行排序。这是一个简单的、直观但效率不高的排序算法,适合小型数据集。下面是冒泡排序的一个基本示例:
```c
#include <stdio.h>
void bubble_sort(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, 9, 1, 7}; // 待排序数组
int n = sizeof(arr) / sizeof(arr[0]); // 数组长度
printf("Before sorting:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
bubble_sort(arr, n);
printf("\nAfter sorting:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
阅读全文
相关推荐
















