以下是一个基本的冒泡排序算法的C语言代码:

#include <stdio.h>

void bubble_sort(int arr[], int size) {
  int i, j;
  for (i = 0; i < size - 1; i++) {
    for (j = 0; j < size - 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, 4, 3, 2, 1 };
  int size = sizeof(arr) / sizeof(arr[0]);
  int i;

  printf("Before Sort:\n");
  for (i = 0; i < size; i++) {
    printf("%d ", arr[i]);
  }

  bubble_sort(arr, size);

  printf("\nAfter Sort:\n");
  for (i = 0; i < size; i++) {
    printf("%d ", arr[i]);
  }

  return 0;
}

在这个算法中,我们使用两个循环来比较和交换数组元素。在外部循环中,我们对数组中的每个元素进行迭代。在内部循环中,我们比较每个元素与其后面的元素,如果当前元素大于后面的元素,我们就交换它们的位置。这样,每次内部循环后,数组中最大的元素就会被“冒泡”到数组的末尾。我们继续迭代,直到所有元素都被排序。

帮我用C语言写一个冒泡算法

原文地址: https://www.cveoy.top/t/topic/bcWP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录