/* 选择排序:就是选一个最小(或最大)排在左边或者右边 */ //头文件 sort.h #include <stdio.h> void Print(int* arr,int len) { int i; for(i=0;i<len;i++) { printf("%d ",arr[i]); } printf("\n"); } void Swap(int* a,int* b) { *a=*a+*b; *b=*a-*b; *a=*a-*b; } //main函数中 #include "sort.h" void Seletion(int* arr,int len); int main(void) { int arr[]={-1,-2,1,2,-3,3,-4,4}; Print(arr,8); Seletion(arr,8); Print(arr,8); return 0; } void Seletion(int* arr,int len) { int i,j; for(i=0;i<len;i++) { for(j=i+1;j<len;j++) { if(arr[j]<arr[i]) Swap(&arr[j],&arr[i]); } } }
原文地址:http://blog.csdn.net/mingyueruya/article/details/43163323