美文网首页
二维数组定位

二维数组定位

作者: 弓长_88c0 | 来源:发表于2019-10-03 17:41 被阅读0次

在一维数组或二维数组中取k1-k2区间的值

Function QuickSort(tr, l&, u&, k1&, k2&, Optional z& = 0) 'A-Z
    Dim i&, j&, r, t
'    cnt = cnt + 1
    If u - l < 10 Then
        For i = l + 1 To u
            r = tr(i)
            For j = i - 1 To l Step -1
                If tr(j) <= r Then Exit For Else tr(j + 1) = tr(j) '<= A-Z
            Next
            tr(j + 1) = r
        Next
    Else
        i = l: j = u: r = tr((l + u) \ 2)
        While i < j
            While tr(i) < r: i = i + 1: Wend '< A-Z
            While tr(j) > r: j = j - 1: Wend 'A-Z
            If i <= j Then t = tr(i): tr(i) = tr(j): tr(j) = t: i = i + 1: j = j - 1
        Wend
'        Debug.Print tr(k1); tr(k2); l; j; i; u; cnt
        If z Then 'Sort [k1,k2]
            If l < j Then If k1 <= j Then Call QuickSort(tr, l, j, k1, k2, z)
             'l,k1,j,k2/k1,l,k2,j/k1,l,j,k2/ Not l,j,k1,k2
            If i < u Then If i <= k2 Then Call QuickSort(tr, i, u, k1, k2, z)
             'i,k1,u,k2/k1,i,k2,u/k1,i,u,k2/ Not k1,k2,i,u
        Else 'No Sort [k1,k2]
            If l < j Then If l < k1 Then If k1 <= j Then Call QuickSort(tr, l, j, k1, k2, z)
             'l<k1,(k1<=j),(k2)
            If l < j Then If k1 < l Then If k2 < j Then Call QuickSort(tr, l, j, k1, k2, z)
             'k1<l,(k2<j)
            
            If i < u Then If i < k1 Then If u <= k2 Then Call QuickSort(tr, i, u, k1, k2, z)
              '(i<k1),u<=k2
            If i < u Then If i < k2 Then If k2 < u Then Call QuickSort(tr, i, u, k1, k2, z)
              '(k1),(i<k2),k2<u
        End If
    End If
    If k1 = k2 Then QuickSort = tr(k1)
End Function

相关文章

  • 二维数组定位

    在一维数组或二维数组中取k1-k2区间的值

  • Day08

    二维数组 二维数组格式 二维数组初始化 二维数组的遍历 二维数组内存存储细节 二维数组与函数注意点: 主要是看函数...

  • PHP 工具之数组

    二维数组值 二维数组翻转 二维数组转置

  • 笔记:二维数组,字符串,指针

    #mark- 01-二维数组基本概念 //问题:什么是二维数组?二维数组的格式?二维数组如何存储?二维数组是如何遍...

  • Java 二维数组格式、二维数组内存图解、二维数组操作

    二维数组格式1 格式1内存图解 二维数组格式2 二维数组格式2 内存图解 二维数组格式3 二维数组格式3 内存...

  • Java 二维数组格式、二维数组内存图解、二维数组操作

    二维数组格式1 格式1内存图解 二维数组格式2 二维数组格式2 内存图解 二维数组格式3 二维数组格式3 内存...

  • 二维数组

    二维数组格式1: 1.内存图解 二维数组格式2 二维数组格式2 内存图解 二维数组格式3 二维数组格式3 内存图解...

  • PHP 常用自定义函数

    获取分页信息 二维数组去重 二维数组合并重复项 二维数组排序 二维数组字母排序

  • 2018-05-16

    学习了二维数组,a[][],可以用双层for循环控制数组中元素的定位,外层for循环控制行数(第一个[])的变化,...

  • Java数组常见问题深度解析

    二维数组。二维数组是一种平面的二维结构,本质上是数组的数组。二维数组的定义形式:type[][] a=new ty...

网友评论

      本文标题:二维数组定位

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