冒泡排序应该是最容易实现的一种排序算法了。其基本思想是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。以此类推,直至排序完成。
以下是我用C++实现的冒泡排序:
//冒泡排序 int* BubbleSort(int* ary, int length) { int i, j, tmp; for(i=0; i<length-1; i++) { tmp = ary[i]; for(j=length-1; j>i; j--) { //找到数组中最小的数,并交换 if(tmp > ary[j]) { ary[i] = ary[j]; ary[j] = tmp; tmp = ary[i]; } } } return ary; }