冒泡排序
冒泡排序就是拿第一个数和后面所有数一一相比,然后将最大的放在最后,然后再拿第二个数和后面一一相比将第二大的放在倒数第二的位置。。。一直到全部比较完,就排好序了,好比冒泡一样小的数向上走,大的数向下走。快速排序是选择一组数中的一个(一般是第一个),和其他所有的比,比它大的放在一边,比它小的放在另一边,然后将两边的数再用这个原理,比如将左边的数选择第一个来和左边其他数相比,小的放在一边大的放在另一边。右边的数也是如此。。。最后多来几遍循环也就排好序了。
具体代码如下:
1 //i从[0,nLen-1)开始冒泡,确定第i个元素 2 for (int i = 0; i < nLen - 1 ; ++i) 3 { 4 5 6 //从[nLen - 1, i)检查是否比上面一个小,把小的冒泡浮上去 7 for (int j = nLen- 1; j > i; --j) 8 { 9 if (pnData[j] < pnData[j - 1]) //如果下面的比上面小,交换 10 { 11 int nTemp = pnData[j]; 12 pnData[j] = pnData[j - 1]; 13 pnData[j - 1] = nTemp;