21xrx.com
2024-12-22 23:30:47 Sunday
登录
文章检索 我的文章 写文章
C语言中的简单选择排序
2023-06-17 22:58:45 深夜i     --     --
C语言 选择排序 循环

在计算机科学中,选择排序是一种简单的排序算法。它的基本思想是找到最小(或最大)的元素,将其与数组的第一个元素交换位置,然后剩余元素中再找到最小(或最大)的元素与第二个元素交换位置,以此类推。使用C语言实现选择排序非常简单,只需要使用循环和条件语句即可。

首先,定义一个函数,该函数将一个整数数组排序,函数代码如下:

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

  int i, j, min_idx;

  // One by one move boundary of unsorted subarray

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

  {

    // Find the minimum element in unsorted array

    min_idx = i;

    for (j = i+1; j < len; j++)

     if (arr[j] < arr[min_idx])

      min_idx = j;

    // Swap the found minimum element with the first element

    int temp = arr[min_idx];

    arr[min_idx] = arr[i];

    arr[i] = temp;

  }

}

接下来,你可以在主函数中创建一个整数数组,并将其作为参数传递给函数以对其进行排序。下面是一个完整的示例程序:

#include

void selection_sort(int arr[], int len);

int main()

{

  int arr[] = 11;

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

  selection_sort(arr, n);

  printf("Sorted array: \n");

  for (int i=0; i < n; i++)

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

  printf("\n");

  return 0;

}

  
  

评论区

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