python php 选择排序

#!/usr/bin/python

def select_sort(li):#循环列表依次拿出最小的值将值放在第一个位置
    for i in range(len(li)-1): #最后一个数肯定是最大或者最小 不需要比较 所以循环次数减少1
        min_loc = i #假设列表第一个数为最小数
        for j in range(i+1,len(li)): #循环无序列表 i+1表示不和自己比较 无序列表的长度是逐渐缩短的
            if li[j] < li[min_loc]: #将无序列表的第一个数和有序列表的第一个数进行比较 小于则是进行升序 大于则是降序
                min_loc = j #将列表中的下标进行更换
        li[i],li[min_loc] = li[min_loc],li[i] #以下标的形式将数值进行更换

#时间复杂度为 O(n^2)


__________
//选择排序 PHP
//选择排序
function select_sort($li)
{
    $li_lenght = count($li);
    
    for ($i=0; $i < $li_lenght-1; $i++) { 
        $min_local = $i;
        //echo $min_local;
        echo $li[$min_local];
        for ($j=$i+1; $j < $li_lenght; $j++) { 
            if ($li[$min_local] < $li[$j]) { //如果拿出来的值小于循环的值 则将拿出来的值索引和比较的值换
                $min_local = $j;
            }
        }
        // echo $j;
        // echo $min_local;
        $temp = $li[$min_local]; //将值进行互换
        $li[$min_local] = $li[$i];
        $li[$i] = $temp;
    }
     var_dump($li);
}
$li = [1,0,3,4,2,9,7,8,5];
//$li = [1,2,3,4,5,6,7,8,9];
select_sort($li);

转载于:https://www.cnblogs.com/ikai/p/11599673.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值