冒泡排序(Bubble sort)的算法原理如下:从第一个元素开始,每两个元素进行比较,将较大的元素放在后面;比较之后,进行下一对比较;一直到最后一个元素,这样得到的最后一个元素就是整个数组里面的最大值,这个过程就称之为冒泡。以这种方式对剩余的元素进行冒泡,最后就得到了排好序的数组序列。
冒泡排序法是稳定的;算法很简单,下面直接贴出代码。
void bubbleSort(double * dataIn, int sizeIn)
{/* 2012/08/23, by wbprime@myopera.com */
bool bExchange;
for (int i = 0; i < sizeIn; ++i) {
bExchange = false;
for (int j = 1; j < sizeIn - i; ++j) {
if (dataIn[j-1] > dataIn[j]) {
bExchange = true;
swap(dataIn[j-1], dataIn[j]);
}
}
if (bExchange) break;
}
}