本文介绍: 冒泡排序,也称为Bubble Sort,是一种简单的计算机科学排序算法。该算法重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序错误就把他们交换过来。这个过程会不断重复,直到没有再需要交换的相邻元素为止,也就是说该数列已经排序完成。冒泡排序的名字来源于越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。冒泡排序的基本思想是,使值较大的元素逐渐从前移向后部,就像水底下的气泡一样逐渐向上冒出。
冒泡排序,也称为Bubble Sort,是一种简单的计算机科学排序算法。该算法重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序错误就把他们交换过来。这个过程会不断重复,直到没有再需要交换的相邻元素为止,也就是说该数列已经排序完成。
冒泡排序的名字来源于越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。
冒泡排序的基本思想是通过对待排序序列从前向后(从下标较小的元素开始),依次对相邻两个元素的值进行两两比较,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就像水底下的气泡一样逐渐向上冒出。例如,对于一个待排序数组:3,9,-1,10,20,第一轮排序后,将最大的元素20固定到了最后的位置;然后在第二轮排序时,因为20的位置已经固定,所以只对前4个进行排序即可。
优化:
因为排序的过程中,个元素不断接近自己的位置,如果一次比较下来没有进行交换过,说明序列有序,因此要在排序过程中设置一个标志flag判断元素是否进行交换过。从而减少不必要的比较。
推敲冒泡排序中:
传统的冒泡排序:
优化之后的冒泡排序:
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。