选择排序的一种递归写法
#include<stdio.h> void Sort(int *header,int length) { if(length > 0) { int i = 0; int temp = 0; for(i = 1; i < length; i++) { if(*(header + i) >= *header) { temp = *header; *header = *(header + i); *(header + i) = temp; } } Sort(header + 1,length - 1); } else { return; } } int main() { int in_str[8] = {12, 13, 7, 9, 11, 37, 45, 34}; int *header = in_str; int n = 8; Sort(header,n); int i = 0; for(i = 0; i < n; i++) { printf(" %d ",*(header + i)); } }
在这里mark一下,加深自己对递归的进一步理解
输出结果: