黑马程序员技术交流社区
标题: 选择排序法(优化版)【附带详细注释】 [打印本页]
作者: ToBeJeek1 时间: 2015-11-20 23:38
标题: 选择排序法(优化版)【附带详细注释】
#include <stdio.h>
int main(int argc, const char * argv[]) {
int a[]={6,23,53,15,17,46,23,51,98,88};
int len = sizeof(a)/sizeof(int);
//控制遍数
for (int i = 0; i < len -1; i++) {
//记录最小值的下标
int minLoc = i;
//设置变量,假设第一个元素为最小值
int min=a;
//对未排序的元素进行遍历
for (int j = i+1; j < len; j++) {
//用打擂台法找出最小值,并记录下标
if (min > a[j]) {
//记录最小值
min = a[j];
//记录最小值的下标
minLoc = j;
}
}
//当minLoc不改变时,不用进行交换,否则就是自己与自己交换
if (minLoc != i) {
//将未排序元素中的最小值与前面已经排序的元素的下一位进行交换
int temp = a;
a = a[minLoc];
a[minLoc] = temp;
}
}
//遍历打印数组
for (int i = 0; i < len; i++) {
printf("%d ",a);
}
printf("\n");
return 0;
}
作者: Mr.Yan 时间: 2015-11-21 00:13
干得漂亮!赞一个~
作者: 唐阿丽 时间: 2015-11-21 11:37
支持一下
作者: 649685603 时间: 2015-11-21 22:09
我是来刷黑马币的。。。目的十分明确
作者: ToBeJeek1 时间: 2015-11-22 10:39
唐阿丽 发表于 2015-11-21 11:37
支持一下
谢谢支持!
作者: ToBeJeek1 时间: 2015-11-22 10:40
649685603 发表于 2015-11-21 22:09
我是来刷黑马币的。。。目的十分明确
这也太直接了吧!>_<
作者: ToBeJeek1 时间: 2015-11-22 10:41
Mr.Yan 发表于 2015-11-21 00:13
干得漂亮!赞一个~
好好好好好
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |