当前位置:实例文章 » 其他实例» [文章]跟着gpt学算法(c和python)-排序-冒泡排序

跟着gpt学算法(c和python)-排序-冒泡排序

发布人:shili8 发布时间:2025-02-23 10:38 阅读次数:0

**跟着 GPT 学算法 (C 和 Python) - 排序 - 冒泡排序**

在本文中,我们将学习一种简单而有效的排序算法:冒泡排序。我们将使用 C语言和 Python 来实现这个算法。

**什么是冒泡排序?**

冒泡排序是一种最基本的排序算法,它通过反复地遍历列表,相邻元素之间进行比较和交换,以达到排序的目的。它的名字来源于水泡在水面上浮起的过程。

**冒泡排序的步骤**

1. 从列表的第一个元素开始,比较相邻的两个元素。如果它们是正确的顺序(即较小的元素在前),则不进行任何操作。
2. 如果相邻的两个元素不正确的顺序,则交换它们,以使较小的元素在前。
3. 重复步骤1 和2,直到列表中的所有元素都被排序。

**C语言实现**

c#include <stdio.h>

void bubbleSort(int arr[], int n) {
 for (int i =0; i < n -1; i++) {
 // 在每次循环中,我们都会检查从第一个元素到第 (n-i-1) 个元素之间的所有元素。
 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;
 }
 }
 }
}

void printArray(int arr[], int n) {
 for (int i =0; i < n; i++) {
 printf("%d ", arr[i]);
 }
 printf("
");
}

int main() {
 int arr[] = {64,34,25,12,22,11,90};
 int n = sizeof(arr) / sizeof(arr[0]);

 printf("原始列表:
");
 printArray(arr, n);

 bubbleSort(arr, n);

 printf("排序后的列表:
");
 printArray(arr, n);

 return0;
}


**Python 实现**

def bubble_sort(arr):
 for i in range(len(arr) -1):
 # 在每次循环中,我们都会检查从第一个元素到第 (len(arr)-i-1) 个元素之间的所有元素。
 for j in range(len(arr) - i -1):
 if arr[j] > arr[j +1]:
 # 如果我们发现了两个相邻的元素不正确的顺序,我们就交换它们,以使较小的元素在前。
 arr[j], arr[j +1] = arr[j +1], arr[j]
 return arrarr = [64,34,25,12,22,11,90]

print("原始列表:", arr)

sorted_arr = bubble_sort(arr)

print("排序后的列表:", sorted_arr)


**总结**

在本文中,我们学习了冒泡排序算法的基本原理和实现步骤。我们使用 C语言和 Python 来实现这个算法,并提供了示例代码和注释。通过阅读这篇文章,你应该能够理解冒泡排序的工作原理并自己编写实现它的代码。

其他信息

其他资源

Top