码迷,mamicode.com
首页 > 编程语言 > 详细

冒泡排序

时间:2019-05-31 16:44:24      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:count   cti   not   code   lis   for   sort   length   print   

php版:

<?php
$arr = [1,3,8,2,4,9,7];
print_r(bubbleSort($arr));
function bubbleSort($arr){
    $flag = false;
    $len = count($arr);
    $count_swap = $count_loop = 0;
    for($i = 1;$i < $len;$i++){
        for($k = 0;$k < $len - $i;$k++){
            $count_loop += 1;
            if($arr[$k] > $arr[$k + 1]){
                $tmp = $arr[$k + 1];
                $arr[$k + 1] = $arr[$k];
                $arr[$k] = $tmp;
                
                $flag = true;
                $count_swap += 1;
            }
        }
        //如果2层循环没有交换的话,则退出,减少循环次数
        if(!$flag){
            break;
        }
    }
    
    echo ‘交换次数:‘ . $count_swap . ‘<br />‘;
    echo ‘循环次数:‘ . $count_loop . ‘<br />‘;
    return $arr;
}

python版:

num_list = [
    [1,9,8,5,6,7,4,3,2],
    [1,2,3,4,5,6,7,8,9],
    [1,2,3,4,8,6,7,9,5]
]
nums = num_list[2];
print(nums);
length = len(nums)
count_swap = 0
count = 0
flag = False
for i in range(length) :
    for j in range(length - i - 1) :
        count += 1
        print(j,j+1)
        if nums[j] > nums[j + 1] :
            tmp = nums[j]
            nums[j] = nums[j + 1]
            nums[j + 1] = tmp
            count_swap += 1
            flag = True
            print("swap")
    print("")
    if not flag :
        break
print(nums,count_swap,count)

冒泡排序

标签:count   cti   not   code   lis   for   sort   length   print   

原文地址:https://www.cnblogs.com/nr-zhang/p/10955723.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!