#includevoid 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一下,加深自己对递归的进一步理解 输出结果:
![](https://images0.cnblogs.com/blog/452269/201312/16153456-a0c8e6369e7d4aeb88656c5efe69217f.png)