您的位置:首页 > 其它

<菜鸟学算法-A排序(选择排序)>

2014-05-21 19:53 441 查看
选择排序是对冒泡排序的改进,每一趟在n-i(i=0,1,…n-2)个记录中选取关键字最小的记录作为有序序列中第i个记录.

/*
============================================================================
Name        : choice_sort.c
Author      : braveboyny
Version     :
Copyright   : Your copyright notice
Description : choice sort in C, Ansi-style
============================================================================
*/

#include <stdio.h>
#include <stdlib.h>
#define SWAP(a,b)	(a=a+b,b=a-b,a=a-b)
void choice_sort(int array[],int n)
{
int i,j,min;
for(i=0;i<n-1;i++){
min=i;
for(j=i+1;j<n;j++)
if(array[min]>array[j]) /*升序排列*/
min=j;
if(min!=i)
SWAP(array[i],array[min]);
}
}
int main(void) {
int array[10]={8,2,3,6,5,9,4,1,0,7},i;
choice_sort(array,10);
for(i=0;i<10;i++)
printf("%d ",array[i]);
putchar('\n');
return 0;
}
//out:0 1 2 3 4 5 6 7 8 9
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: