我是靠谱客的博主 娇气香氛,最近开发中收集的这篇文章主要介绍选择排序(C语言实现),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

算法思想

从下标为0的位置开始,为每一个位置找到排序后应有的值,从该位置开始向后遍历数组,找到最小的值(不妨设排序为升序排列 ),放入该位置,接着为下一位置寻找该位置应有的值。

#include <stdio.h>
#include <malloc.h>
void Select_sort(int *a, int len);
int main(void)
{
int i;
int len;
int * a;
printf("请输入要排的数的个数:");
scanf("%d",&len);
a = (int *)malloc(len * sizeof(int));//动态分配内存
printf("请输入要排的数:n");
for (i = 0; i < len; i++) { //要排的数的输入
scanf("%d",&a[i]);
}
Select_sort(a, len);
printf("排序后的结果为:n");
for (i = 0; i < len; i++) { //排序后结果的输出
printf("%dt",a[i]);
}
printf("n");
return 0;
}
void Select_sort(int *a, int len)//选择排序
{
int i;
int j;
int temp;
int min_num;
for (i = 0; i < len - 1; i++) {
min_num = i;
for (j = i + 1;j < len; j++) {
if (a[j] < a[i]) {
min_num = j;
//存放当前最小值的下标
}
}
temp = a[i];
//交换两下标的值
a[i] = a[min_num];
a[min_num] = temp;
}
}

最后

以上就是娇气香氛为你收集整理的选择排序(C语言实现)的全部内容,希望文章能够帮你解决选择排序(C语言实现)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部