zoukankan      html  css  js  c++  java
  • 简单选择排序

    基本原理:

    1. 是从数组索引0的位置开始,与数组其它索引进行比较。如果比我小,则我们两个交换位置。
    2. 然后,从1开始做类似的操作。
    3. 不是稳定的排序,因为有相同数字时,例如{(2),7,【2】,1},(2)会和1交换位置,导致(2)与【2】的索引顺序发生了变化。

    具体实现步骤:

    1. 定义用于交换数组元素的方法:
    1 Private Sub swap(ByVal array() as Short,ByVal a as Short,ByVal b as Short)
    2     array(a) = array(a) Xor array(b)
    3     array(b) = array(a) Xor array(b)
    4     array(a) = array(a) Xor array(b)
    5 End Sub

      2. 外层循环控制逐个取出数字i,最后一位不必要

           3.内层循环控制让取出的数字i同数组中其它数字进行比较j = i+1 ; j++

      4.得到最小数字的索引min,并交换位置

     1 Private Sub sort(ByVal array() as Short)
     2     Dim i,j as Short
     3     Dim min as Short
     4     For i=0 To array.Length - 2
     5         min = i
     6         For j = i + 1 To Length - 1
     7             If(array(j) < array(min)) Then
     8                 min = j
     9             End If
    10         Next
    11         If min <> i Then
    12             swap(array,i,min)
    13         End If
    14     Next
    15 End Sub 
  • 相关阅读:
    待办
    安卓微信浏览器修改的代码总是不生效
    微信浏览器内核2
    微信浏览器内核
    随记
    三次握手最后一个ack没有收到怎么办?
    判断偶数:
    利用kubeadm工具安装Kubernetes1.15版本
    kubernetes安装Helm
    最大子列和(附加子列初始元素和末尾元素)
  • 原文地址:https://www.cnblogs.com/gongjin/p/9327806.html
Copyright © 2011-2022 走看看