[关闭]
@Arbalest-Laevatain 2018-10-13T12:16:53.000000Z 字数 399 阅读 414

实现冒泡排序的几种方法

未分类


从头向尾遍历

  1. //方式一:从头向尾遍历,将最大数(相对)沉入尾部(相对)
  2. void BubbleSort1(int *arr,int sz){
  3. int i,j;
  4. assert(arr);
  5. for(i=0;i<sz-1;i++){
  6. for(j=0;j<sz-i-1;j++){
  7. if(arr[j]>arr[j+1]){
  8. int tmp = arr[j];
  9. arr[j] = arr[j+1];
  10. arr[j+1] = tmp;
  11. }
  12. }
  13. }
  14. }

从尾向头遍历

  1. //方式二:从尾向头遍历,将最大数(相对)冒泡到头部(相对)
  2. void BubbleSort2(int *arr,int sz){
  3. int i,j;
  4. assert(arr);
  5. for(i=0;i<sz-1;i++){
  6. for(j=sz;j>i;j--){
  7. if(arr[j]>arr[j-1]){
  8. int tmp = arr[j];
  9. arr[j] = arr[j-1];
  10. arr[j-1] = tmp;
  11. }
  12. }
  13. }
  14. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注