1、程序文件
#include <stdio.h>
// 两两交换
void mySwap(int *a, int i, int j)
{
int tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
// 选择排序
void mySort(int *a, int len)
{
int i;
int j;
// 遍历
for (i = 0; i < len - 1; i++)
{
// 作下标
int min = i;
for (j = i+1; j < len; j++)
{
// 存放当前最小值
if (a[min] > a[j])
{
min = j;
}
}
// 如果当前i指向的值就是最小值,则不用交换
if (min != i)
{
// 把最小值存放到i的位置
mySwap(a, min, i);
}
}
}
// 打印
void myPrint(int *a, int len)
{
int i;
for (i = 0; i < len; i++)
{
printf (\"%4d\", a[i]);
}
printf (\"\\n\");
}
// 主函数
int main()
{
int a[] = {9,8,7,6,5,4,3,2,1,0};
int len;
len = sizeof(a)/sizeof(a[0]);
mySort(a, len);
myPrint(a, len);
return 0;
}
2、测试结果
root@lj:/mnt/hgfs/shared-lj# gcc 选择排序.c
root@lj:/mnt/hgfs/shared-lj# ./a.out
0 1 2 3 4 5 6 7 8 9
继续阅读与本文标签相同的文章
上一篇 :
爽!MaxCompute老铁们再也不用点点点了!
下一篇 :
LeetCode-38. 报数
-
中国智能家居的蝴蝶效应
2026-05-18栏目: 教程
-
2019年回顾 - Joomla前12名SEO扩展和插件
2026-05-18栏目: 教程
-
数据结构与算法之约瑟夫问题
2026-05-18栏目: 教程
-
Spring Batch 4.2 新特性
2026-05-18栏目: 教程
-
windows(ECS)网卡信息不一致
2026-05-18栏目: 教程
