由于最近要找工作,得好好复习一下基本算法了。下面总结一下基本的排序算法。 最简单的是冒泡排序: void bubbersort(int array[], int length) { int temp; for (int i=0; i<length; i++) { for (int j=1; j<length-i; j++) { if (array[j-1]>array[j]) { temp = array[j-1]; array[j-1] = array[j]; array[j] = temp; } } } } 快速排序: int partitiion(int array[] , int first , int last) { int x = array[last]; int i = first-1; int temp; for (int j=first ; j<last ; j++) { if (array[j]<array[last]) { i++; temp = array[i]; array[i] = array[j]; array[j] = temp; } } temp = array[last]; array[last] = array[i+1]; array[i+1] = temp; return i+1; } void quicksort(int array[] , int first , int last) { int mid; if (first<last) { mid = partitiion(array , first , last); quicksort(array , first , mid-1); quicksort(array , mid+1 , last); } } 插入排序: void insertsort(int array[] , int length) { int temp; int first = 0; int last = 0; for (int j=1 ; j<length ; j++) { for (int i=0 ; i<=j-1 ; i++) { if (array[i]>array[j]) { break; } } temp = array[j]; for (int m=j ; m>i; m--) { array[m] = array[m-1]; } array[i] = temp; } }