zoukankan      html  css  js  c++  java
  • python php 插入排序

    #!/usr/bin/python
    
    def insert_sort(li):
    	#将输入的列表以插入的方式排序
    	#先取出一个值,进行在已经完成的排序列表上循环比较后进行左或者右的插入完成排序
    	for i in range(1,len(li)): #假定第一个值是已经排好序的第一个列表 所以从下标1开始
    		temp = li[i] #循环取出无序列表的值
    		j = i - 1 #循环获取有序列表的最后值的索引 
    		while j >= 0 and temp < li[j] :                        # j >= 0 则表明了列表已经达到了最左侧,即列表的第一个值已经比较完成 
    										#并且循环比较已经排序列表中的每一个值,如果小于,则进行位置的变动,否则不需要进行变动结束循环
    			li[i+1] = li[j] #将大的值插入比较值的左边
    			j = j - 1 #将循环次数减1 控制列表索引
    		li[j+1] = temp #将取出来的值放在值的右边
    			
    _______________
    //插入排序PHP
    //插入排序
    function insert_sort($li)
    {
    	$li_lenght = count($li);
    	for ($i=1; $i < $li_lenght; $i++) { 
    		$temp = $li[$i];
    		echo $temp;
    
    		for ($j=$i-1; $j >= 0 && ($temp > $li[$j]);) {  
    			$li[$j+1] = $li[$j];
    			$j -= 1;
    		}
    		$li[$j+1] = $temp;
    		echo "<br />";
    	}
    	var_dump($li);
    }
    $li = [1,0,3,4,2,9,7,8,5];
    //$li = [1,2,3,4,5,6,7,8,9];
    insert_sort($li);
    
  • 相关阅读:
    Single Number II
    Pascal's Triangle
    Remove Duplicates from Sorted Array
    Populating Next Right Pointers in Each Node
    Minimum Depth of Binary Tree
    Unique Paths
    Sort Colors
    Swap Nodes in Pairs
    Merge Two Sorted Lists
    Climbing Stairs
  • 原文地址:https://www.cnblogs.com/ikai/p/11603398.html
Copyright © 2011-2022 走看看