冒泡排序--递归实现
1 void SortByRecursion( int *array, int n ) 2 { 3 int i; 4 if(1 == n) 5 { 6 return; 7 } 8 for(i = 0; i < n - 1; i++) 9 { 10 if(array[i] > array[i + 1]) 11 swap( &array[i], &array[i + 1]); 12 } 13 SortByRecursion( array, n - 1 ); 14 }
插入排序---递归实现
1 //插入排序(递归) 2 void InsertSortRecursively(int *pArr, int index, int nLength) 3 { 4 if (index >= nLength) 5 { 6 return; 7 } 8 9 int key = pArr[index];//记录当前待插入的元素 10 int i=0; 11 for (i=index-1; i>=0&&key<pArr[i]; i--) 12 { 13 pArr[i+1] = pArr[i]; 14 } 15 pArr[i+1] = key; 16 InsertSortRecursively(pArr, index+1, nLength); 17 }
待续……