21xrx.com
2024-11-03 21:51:35 Sunday
登录
文章检索 我的文章 写文章
C语言交换排序法程序详解
2023-06-13 03:15:34 深夜i     --     --
C语言 交换排序法 冒泡排序

在计算机程序设计中,排序一个数组是非常常见的任务。交换排序法是一种基本的排序方法,其时间复杂度为O(n^2),虽然效率不如快速排序和归并排序等高级算法,但其思想简单易懂,是初学者学习算法的良好起点。

下面通过C语言代码展示如何使用交换排序法对一个整型数组进行排序。


#include

void swap(int *a, int *b) {

  int temp = *a;

  *a = *b;

  *b = temp;

}

void bubbleSort(int arr[], int len) {

  int i, j;

  for (i = 0; i < len - 1; i++) {

    for (j = 0; j < len - i - 1; j++) {

      if (arr[j] > arr[j+1]) {

        swap(&arr[j], &arr[j+1]);

      }

    }

  }

}

void printArray(int arr[], int len) {

  int i;

  for (i = 0; i < len; i++) {

    printf("%d ", arr[i]);

  }

  printf("\n");

}

int main() {

  int arr[] = 6;

  int len = sizeof(arr) / sizeof(arr[0]);

  printf("Original array: ");

  printArray(arr, len);

  bubbleSort(arr, len);

  printf("Sorted array: ");

  printArray(arr, len);

  return 0;

}

上述代码中,swap函数实现了两个变量交换值,bubbleSort函数则使用了两个嵌套的for循环进行冒泡排序,printArray函数用于输出数组。

使用该程序进行排序,输入数组为 9,输出结果为:


Original array: 5 2 9 3 6

Sorted array: 2 3 5 6 9

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复