/********************************************************************** * Copyright (c) 2015,wk Studios* Filename: * compiler:gcc,vs,vc6.0 Win32 * AUTHOR:WK * time:2015 4 20******************************* /#include <stdio.h>void change_sort1 (int *a,int len) {for (int i=0;i <len;i++) {int min=i;for (int j=i+1;j<len;j++) {if (a[j]<a[min]) min=j;} int temp=a[i];a[i]=a[min];a[min]=temp;}} Slightly optimized void change_sort2 (int *a,int len) {for (int i=0;i<len;i++) {int min=i;for (int j=i+1;j<len;j++) {if (a[j]<a [min]) Min=j;} if (min!=i)///Here the optimization can reduce the exchange, itself does not exchange with itself {int temp=a[i];a[i]=a[min];a[min]=temp;}}} int main () {int a[]={1,3,5,2,9,6,8,7}; Change_sort1 (A,sizeof (a)/sizeof (A[0])),//change_sort2 (A,sizeof (a)/sizeof (a[0])); for (int i=0;i<sizeof (a)/ sizeof (a[0]); i++) {printf ("%d ", A[i]);} return 0;}
Basic Sorting algorithm--select Sort method