排序算法 之 (简单选择排序)

10.5、简单选择排序

这个算法的思想很简单,每次选择从没有排序的元素中选择最小(大)元素放到到前(后)面

简单选择排序是不稳定的

简单选择排序代码实现

#include <stdio.h>
#include <stdlib.h>
#define boolean int
#define false 0;
#define true 1;
//简单选择排序:nums:待排序数组,length:数组长度
void SelectSort(int nums[],int length){
for(int i = 0;i < length-1;i++){
int min = i;
for(int j = i+1;j < length;j++){
if(nums[j] < nums[min]) min = j;
}
if(min != i){
int temp = nums[i];
nums[i] = nums[min];
nums[min] = temp;
}
}
}
int main(){
int nums[] = {49,38,65,97,76,13,27,47,89,13,48,76,88,88,99};
int length = 15;
printf("简单选择排序前:");
for(int i = 0; i < length ;i++){
printf("%d ",nums[i]);
}
SelectSort(nums,length);
printf("\n");
printf("简单选择排序后:");
for(int i = 0; i < length ;i++){
printf("%d ",nums[i]);
}
return 0;
}
//结果:
简单选择排序前:49 38 65 97 76 13 27 47 89 13 48 76 88 88 99
简单选择排序后:13 13 27 38 47 48 49 65 76 76 88 88 89 97 99
posted @   水三丫  阅读(68)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示