基础排序算法 – 冒泡排序Bubble sort

基础排序算法 – 冒泡排序Bubble sort

原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,香港服务器,

这样一趟过去后,最大或最小的数字被交换到了最后一位,

然后再从头开始进行两两比较交换,直到倒数第二位时结束。

从小到大排序:

原始待排序数组| 6 | 2 | 4 | 1 | 5 | 9 |

第一趟排序(外循环)

第一次两两比较6 > 2交换(内循环)

交换前状态| 6 | 2 |4 | 1 | 5 | 9 |交换后状态| 2 | 6 |4 | 1 | 5 | 9 |

第二次两两比较,6 > 4交换

交换前状态| 2| 6 | 4 |1 | 5 | 9 |交换后状态| 2| 4 | 6 |1 | 5 | 9 |

第三次两两比较,6 > 1交换

交换前状态| 2 | 4| 6 | 1 |5 | 9 |交换后状态| 2 | 4| 1 | 6 |5 | 9 |

第四次两两比较,网站空间,6 > 5交换

交换前状态| 2 | 4 | 1| 6 | 5 |9 |交换后状态| 2 | 4 | 1| 5 | 6 |9 |

第五次两两比较,香港虚拟主机,6 < 9不交换

交换前状态| 2 | 4 | 1 | 5| 6 | 9 |交换后状态| 2 | 4 | 1 | 5| 6 | 9 |

第二趟排序(外循环)

第一次两两比较2 < 4不交换

交换前状态| 2 | 4 |1 | 5 | 6 | 9 |交换后状态| 2 | 4 |1 | 5 | 6 | 9 |

第二次两两比较,4 > 1交换

交换前状态| 2| 4 | 1 |5 | 6 | 9 |交换后状态| 2| 1 | 4 |5 | 6 | 9 |

第三次两两比较,4 < 5不交换

交换前状态| 2 | 1| 4 | 5 |6 | 9 |交换后状态| 2 | 1| 4 | 5 |6 | 9 |

第四次两两比较,5 < 6不交换

交换前状态| 2 | 1 | 4| 5 | 6 |9 |交换后状态| 2 | 1 | 4| 5 | 6 |9 |

第三趟排序(外循环)

第一次两两比较2 > 1交换

交换后状态| 2 | 1 |4 | 5 | 6 | 9 |交换后状态| 1 | 2 |4 | 5 | 6 | 9 |

第二次两两比较,2 < 4不交换

交换后状态| 1| 2 | 4 |5 | 6 | 9 |交换后状态| 1| 2 | 4 |5 | 6 | 9 |

第三次两两比较,4 < 5不交换

交换后状态| 1 | 2| 4 | 5 |6 | 9 |交换后状态| 1 | 2| 4 | 5 |6 | 9 |

第四趟排序(外循环)无交换

第五趟排序(外循环)无交换

排序完毕,输出最终结果1 2 4 5 6 9

冒泡排序的动画演示:

C语言代码:

1 #include <stdio.h> 2 int main() 3 { 4int a[5]={5,4,3,2,1},i;); 7for(i=0;i<5;i++) 8 {,a[i]);10 });bubble (int a[],int n);14bubble (a,5););17for(i=0;i<5;i++)18 {,a[i]);20 };22 }bubble (int a[],int n)25 {26int i,j,temp;27for(i=0;i<n-1;i++)28 {29for(j=i+1;j<n;j++)30 {31if(a[i]>a[j])32 {33temp=a[i];34a[i]=a[j];35a[j]=temp;36 }37 }38 }39 }

引用来自:

posted on

如果没法忘记他,就不要忘记好了。真正的忘记,是不需要努力的。

基础排序算法 – 冒泡排序Bubble sort

相关文章:

你感兴趣的文章:

标签云: