码迷,mamicode.com
首页 > 编程语言 > 详细

C_选择排序

时间:2020-12-09 12:30:22      阅读:9      评论:0      收藏:0      [点我收藏+]

标签:定义排序   swap   pre   主函数   min   selection   函数   排序数组   mic   

算法名称:选择排序

基本原理(从小到大):
S1:选出数组中最小元素(记下标为i)(一基准值也可)。
S2:从剩余待排序数组元素选出最小元素与下标为(i+1)元素交换。
S3:重复S2。

算法图示:
技术图片

图片来自https://www.runoob.com/w3cnote/selection-sort.html

代码实现:

//先定义一个交换数组元素的函数
void swap(int *a, int *b)
{
 int temp;
 temp = *a;
 *a = *b;
 *b = temp;
}
//定义排序函数
void selection_sort(int arr[], int len)
{
 int i, j;
 for(i = 0; i < len - 1;i ++)
  {
   int min = arr[i];                //假定待排序第一个元素为最小
   for(j = i + 1; j < len; j++)     //遍历其他数组元素
    if(min > arr[j])                //比基准值小则交换
      swap(&arr[i], &arr[j]);
  }
}
//编写主函数
#include<stdio.h>
#include<stdlib.h>

int main()
{
 void selection_sort(int arr[], int len);
 int arr_beta[10] = {2, 4, 5, 3, 12, 6, 64, 12, 43, 22};         //测试数组

 selection_sort(arr_beta, 10);
 for(int i = 0; i < 10; i ++)
   printf("%d ", arr_beta[i]);
   
 printf("\n");
system("pause");
}

C_选择排序

标签:定义排序   swap   pre   主函数   min   selection   函数   排序数组   mic   

原文地址:https://www.cnblogs.com/XiaoXin1900/p/14089803.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!