今天我先写两个时间复杂度为0(N^2)的排序算法,明天继续, 1. 我们最熟悉的冒泡排序, // Bubble sort void BubbleSort(int *pData,int count) { int iTemp; for(int i = 1; i < count; i++) { for(int j = count -1; j >= i; j--) { if(pData[j] > pData[j - 1]) { iTemp = pData[j -1]; pData[j -1] = pData[j]; pData[j] = iTemp; } } } } 2. 然后是选择排序,就是从数据中选择最小的同第一个值交换,从剩余的部分选择同第二个值交换,依次类推 // Select sort void SelectSort(int *pData,int cout) { int iTemp; int iPos; for(int i = 0; i < count - 1; i++) { iTemp = pData[i]; iPos = i; for(int j = i + 1; j < count; j++) { if(pData[j] < iTemp) { iTemp = pData[j]; iPos = j; } } pData[iPos] = pData[i]; pData[i] = iTemp; } }