跟着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 来实现这个算法,并提供了示例代码和注释。通过阅读这篇文章,你应该能够理解冒泡排序的工作原理并自己编写实现它的代码。