标签:
刚开始看到insertsort,思路就是使用新来的元素与前述已经排好序的元素比较。然后进行插入或者跳到下一次比较。
实现的代码如下:
void InsertSort(int *pArray, int iSortNum) { int *pTemp = pArray; int iLoop = 0; int jLoop = 1; for(; jLoop != iSortNum ; ++jLoop) { int x = pTemp[jLoop]; iLoop = jLoop - 1; while(iLoop != -1) { if(x < pTemp[iLoop]) { pTemp[iLoop+1] = pTemp[iLoop]; } --iLoop; } } }
这种排序跟冒泡法时间复杂度都是o(n^2)。
下面附上冒泡法的程序:
void BubbleSort(int *pArray, int iArrayNum) { int temp = 0; for(int i = 0; i != iArrayNum; ++i) { for(int j = i + 1; j != iArrayNum; ++ j) { if(pArray[i] > pArray[j]) { temp = pArray[i]; pArray[i] = pArray[j]; pArray[j] = temp; } } } }
标签:
原文地址:http://www.cnblogs.com/bestwangjie/p/4354098.html