美文网首页
多语言实现选择排序算法

多语言实现选择排序算法

作者: 过往云技 | 来源:发表于2019-01-17 22:24 被阅读0次

工作原理:

首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

PHP 实现

function selectSort(array $array):array
{
    $count = count($array);
    if($count < 2){
        return $array;
    }

    for($i=0; $i < $count - 1; $i++){
        $min = $i;
        for($j = $i + 1; $j < $count; $j++){
            if($array[$min] > $array[$j]){
                $min = $j;
            }
        }

        $temp = $array[$min];
        $array[$min] = $array[$i];
        $array[$i] = $temp;
    }

    var_export($array);

    return $array;

}

selectSort([12, 34, 3, 2, 54, 3, 1, 56, 342]);

JavaScript 实现

function selectSort(array){
  var len = array.length;
  var min, temp;
  if(len < 2){
     return array
  }
  
  for(var i = 0; i < len - 1; i++){
    min = i;
    for(var j = 1 + i; j < len; j++ ){
      if(array[min] > array[j]){
        min = j
      }
    }

    temp = array[min]
    array[min] = array[i]
    array[i] = temp
  }
  
  return array
}

selectSort([12, 34, 2, 1, 45, 23, 0, 1, 34])

Python 实现

def select_sort(array):
    count = len(array)

    for i in range(count - 1):
        min_i = i
        j = i + 1
        while j < count:
            if array[min_i] > array[j]:
                min_i = j

            j = j + 1

        array[min_i], array[i] = array[i], array[min_i]

    return array


a = select_sort([12, 45, 2, 23, 1, 0, 45, 233])
print(a)

Go 实现

package main

import "fmt"

func main(){
    var array = []int{23, 3, 34, 1, 45, 2, 56, 1, 78}
    a := selectSort(array)

    fmt.Println(&a)
}

func selectSort(array[]int)[]int{
    count := len(array)
    for i := 0; i < count - 1; i++{
        min_i := i
        for j := i + 1; j < count; j++ {f
            if array[min_i] > array[j] {
                min_i = j
            }
        }

        if min_i != i {
            array[min_i], array[i] = array[i], array[min_i]
        }
    }

    return array
}

相关文章

  • 算法-选择排序

    算 法:选择排序算法时间复杂度: 选择排序算法概述 选择排序伪代码 选择排序实现 选择排序算法概述 排序算法有许...

  • 排序算法详细代码实现

    算法分类 算法时间复杂度 选择排序 插入排序 C++实现 Python实现 冒泡排序 Python实现 归并排序 ...

  • python实现选择排序(SelectionSort)

    python实现【选择排序】 算法原理及介绍 选择排序(Selection-sort)是一种简单直观的排序算法。它...

  • 多语言实现选择排序算法

    工作原理: 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小...

  • java 实现排序算法之「选择排序」

    java 实现排序算法系列 继冒泡排序算法之后,选择排序终于和大家见面了。为什么冒泡排序之后要说选择排序呢,是因为...

  • python 排序算法

    文章概述 介绍各大常用经典的排序算法和效率,以及python实现常用算法(冒泡排序,选择排序,快速排序,插入排序)...

  • 排序算法初步——冒泡排序法

    排序:排序操作是算法学习中的经典部分。尽管很多语言中都已经提前实现了排序功能,直接提供了排序函数,对于初学者来说,...

  • 排序算法总结

    基础排序算法 基础排序算法相关接口和实现类 接口: 实现类(后续排序的父类): 1.选择排序 两层循环:内层循环进...

  • 【算法】排序(一)选择排序

    在排序算法中,最简单的莫过于选择排序了。 本文将介绍以下内容 排序思路算法实现(JAVA)测试阶段算法分析 排序思...

  • 14-排序优化:如何实现一个通用的、高性能的排序函数?

    如何实现一个通用的、高性能的排序函数? 如何选择合适的排序算法? 先回顾一下前面写过的几种排序算法: 线性排序算法...

网友评论

      本文标题:多语言实现选择排序算法

      本文链接:https://www.haomeiwen.com/subject/ajjidqtx.html