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

来源:互联网 发布:samplitude for mac 编辑:程序博客网 时间:2024/05/16 05:44

选择排序是对冒泡排序的改进,每一趟在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


0 0
原创粉丝点击