select sort O(n2)
#include <stdio.h> int input(int* array); int selectMinKey(int* p, int i, int len); void selectOrder(int *p, int len); int input(int* array) { int n; int i = 0; while(1) { scanf("%d", &n); if(n == -1) break; *array = n; array++; i++; } return i; } int main() { int array[10]; int len; len = input(array); // bubbleOrder(array); // quickOrder(array, len); selectOrder(array,len); for(int i =0; array[i] != '\0'; i++) { printf("number is:%d\r\n", array[i]); } return 0; } int selectMinKey(int* p, int i, int len) { int min = *(p+i); int index = i; for(int j=i+1; j< len; j++) { if(min > *(p+j)) { min = *(p+j); index = j; } } return index; } void selectOrder(int* p, int len) { for(int i = 0; i< len; i++) { int j = selectMinKey(p , i, len); if(i != j) { int tmp = *(p+j); *(p+j) = *(p+i); *(p+i) = tmp; } } }