zoukankan      html  css  js  c++  java
  • 排序算法---选择排序

    选择排序法是一种不稳定的排序算法。
    选择排序算法原理如下:
    每次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置
    从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
    以此类推,直到全部待排序的数据元素排完。

    数据演示:

    待排序序列:10 7 15 2 5 27 13 
    
    第1轮:【2】10  7 15 5 27 13  //【】里的元素为已排好序数列
    	
    第2轮:【2 5】 10 7 15 27 13
    
    第3轮:【2 5 7】10 15 27 13
    
    第4轮:【2 5 7 10】15 27 13
    	
    第5轮:【2 5 7 10 13】15 27
    
    第6轮:【2 5 7 10 13 15】27
    
    第7轮:【2 5 7 10 13 15 27】
    
    

    代码实现:

    function selectionSort($arr) {
    	$len = count($arr);
    	if($len<=1) {
    		return $arr;
    	}
    	for($i=0;$i<$len;$i++) {
    		 $minIndex = $i;  //假设未有序的第一个为最小元素
    		for($j=$i+1;$j<$len;$j++) {
    			if($arr[$j]<$arr[$minIndex]) {
    				$minIndex = $j; //更新最小元素下标
    			}
    		}
    		$temp = $arr[$i];
    		$arr[$i] = $arr[$minIndex];
    		$arr[$minIndex] = $temp;
    	}
    	return $arr;
    }
    print_r(selectionSort($arr));
    
  • 相关阅读:
    异常处理
    组合,封装
    自我介绍
    27python更多实例
    28python类代码编写细节
    29python运算符重载
    30python 类的设计
    31python类的高级主题
    32python异常基础
    33python异常编码细节
  • 原文地址:https://www.cnblogs.com/xinxinmifan/p/sort-algorithm-selectionSort.html
Copyright © 2011-2022 走看看