PHP实现冒泡排序算法

冒泡排序

-完整代码

/**
 * 冒泡排序
 * 思路:从头到位两两对比,前一个比后一个大,则交换两个数据的位置,第一轮对比完之后最大的数就确认了,
 *       第二轮比对就不需要再比对最后一个数据了,以此类推,
 * @param array $noSortArr 需要排序的数据
 * @return array
 */
function bubblingSort($noSortArr) : array
{
    $len = count($noSortArr);
    for ($i = 0; $i < $len - 1; $i++) {
        for ($j = 0; $j < $len - 1 - $i; $j++) {
            if ($noSortArr[$j] > $noSortArr[$j + 1]) {
                $temp = $noSortArr[$j + 1];
                $noSortArr[$j + 1] = $noSortArr[$j];
                $noSortArr[$j] = $temp;
            }
        }
    }

    return $noSortArr;
}

-运行测试代码

$arr = [3, 15, 12, 2, 20, 18, 16, 1, 6, 5, 4, 8, 7, 9, 13, 14, 10, 11, 19, 17];
echo '<pre>';
print_r(selectionSort($arr));
echo '</pre>';

-注意:请使用PHP7.0以上版本测试

-如有不正确的地方或者代码需要优化的地方,欢迎指正,谢谢!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容