在bash中相应地对两个数组进行排序

语法

我有两个全局数组:XFx

我正在对X数组进行排序,并尝试在X移位时将fx数组中的相应值移位。所有这些都是按气泡排序的。

在FX阵列中什么也没发生。

对于以下示例:

x-( 3 2 1) fX-(1 2 3) 

出将

x-(1 2 3 ) fx-(3 2 1)

这是我的代码:

function extractLoopPoints
{
bubble_sort
echo " inputX: ${xArray[@]}"
echo " inputX: ${fxArray[@]}"
echo "output: $(bubble_sort ${xArray[@]})"
echo "output fx: $(bubble_sort ${fxArray[@]})"
} 


function bubble_sort()
{  

    local xArray=($@)  local fxArray=($@) max=$(($# - 1))
    while ((max > 0))
    do
        local i=0
        while ((i < max))
        do
            if [ ${xArray[$i]} \> ${xArray[$((i + 1))]} ]
            then
                local t=${xArray[$i]}
                local tf=${fxArray[$i]}
                xArray[$i]=${xArray[$((i + 1))]}
                fxArray[$i]=${fxArray[$((i + 1))]}
                xArray[$((i + 1))]=$t 
                fxArray[$((i + 1))]=$tf
            fi
            ((i += 1))
        done
        ((max -= 1))
    done
    echo ${xArray[@]}
    echo ${fxArray[@]}
}
纳尔·泰迪(Naor Tedgi)

如果数组是全局的

这是正确的方法

function bubble_sort()
{   
    local max=${#xArray[@]}
    size=${#xArray[@]}
    while ((max > 0))
    do
        local i=0
        while ((i < max))
        do
            if [ "$i" != "$(($size-1))" ] #array will not be out of bound
            then
                if [ ${xArray[$i]} \> ${xArray[$((i + 1))]} ]
                   then
                   local t=${xArray[$i]}
                   xArray[$i]=${xArray[$((i + 1))]}
                   xArray[$((i + 1))]=$t
                    
                   local tf=${fxArray[$i]}
                   fxArray[$i]=${fxArray[$((i + 1))]}
                  fxArray[$((i + 1))]=$tf
                 fi
             fi
            ((i += 1))
        done
        ((max -= 1))
    done
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在bash中对两个数组进行相应排序

来自分类Dev

如何相应地对两个数组值进行分类

来自分类Dev

在ruby中对两个数组进行排序或映射

来自分类Dev

组合两个数组并对数组进行排序Swift

来自分类Dev

根据花药数组对两个数组进行排序

来自分类Dev

BASH中两个数组的交集

来自分类Dev

在 O(n) 中对两个数组进行排序(时间和空间)

来自分类Dev

对两个数组进行排序,具体取决于一个数组

来自分类Dev

对两个数组进行排序,具体取决于一个数组

来自分类Dev

对一个数组进行排序并使其他两个数组保持同步

来自分类Dev

PHP-Compaire两个多维数组,并相应地追加到一个数组

来自分类Dev

使用Swift排序两个数组

来自分类Dev

同时排序两个数组

来自分类Dev

两个数组的融合排序

来自分类Dev

在Bash中逐行合并两个数组

来自分类Dev

按数组之一的顺序对两个数组进行排序 [Swift 3.0 - Xcode 8]

来自分类Dev

在PHP中对两个对应的数组进行排序

来自分类Dev

基于一个列元素对两个数组进行排序和合并

来自分类Dev

如何相对于彼此对两个数组进行排序。

来自分类Dev

Java Arrays.sort(test)对两个数组进行排序

来自分类Dev

MongoDB,按两个数组之间匹配元素的数量对结果进行排序

来自分类Dev

Java Arrays.sort(test)对两个数组进行排序

来自分类Dev

用两个数字键对多维数组进行排序

来自分类Dev

Javascript:使用两个可能的项目对多个数组进行排序

来自分类Dev

我正在尝试合并两个数组并按降序对其进行排序

来自分类Dev

合并两个数组并在C#中返回排序后的数组

来自分类Dev

通过两个数组对多维数组排序

来自分类Dev

如何有效地合并Java中的两个数组?

来自分类Dev

如何在MongoDB中获得两个数组的交集($ setIntersection不能很好地工作)

Related 相关文章

  1. 1

    在bash中对两个数组进行相应排序

  2. 2

    如何相应地对两个数组值进行分类

  3. 3

    在ruby中对两个数组进行排序或映射

  4. 4

    组合两个数组并对数组进行排序Swift

  5. 5

    根据花药数组对两个数组进行排序

  6. 6

    BASH中两个数组的交集

  7. 7

    在 O(n) 中对两个数组进行排序(时间和空间)

  8. 8

    对两个数组进行排序,具体取决于一个数组

  9. 9

    对两个数组进行排序,具体取决于一个数组

  10. 10

    对一个数组进行排序并使其他两个数组保持同步

  11. 11

    PHP-Compaire两个多维数组,并相应地追加到一个数组

  12. 12

    使用Swift排序两个数组

  13. 13

    同时排序两个数组

  14. 14

    两个数组的融合排序

  15. 15

    在Bash中逐行合并两个数组

  16. 16

    按数组之一的顺序对两个数组进行排序 [Swift 3.0 - Xcode 8]

  17. 17

    在PHP中对两个对应的数组进行排序

  18. 18

    基于一个列元素对两个数组进行排序和合并

  19. 19

    如何相对于彼此对两个数组进行排序。

  20. 20

    Java Arrays.sort(test)对两个数组进行排序

  21. 21

    MongoDB,按两个数组之间匹配元素的数量对结果进行排序

  22. 22

    Java Arrays.sort(test)对两个数组进行排序

  23. 23

    用两个数字键对多维数组进行排序

  24. 24

    Javascript:使用两个可能的项目对多个数组进行排序

  25. 25

    我正在尝试合并两个数组并按降序对其进行排序

  26. 26

    合并两个数组并在C#中返回排序后的数组

  27. 27

    通过两个数组对多维数组排序

  28. 28

    如何有效地合并Java中的两个数组?

  29. 29

    如何在MongoDB中获得两个数组的交集($ setIntersection不能很好地工作)

热门标签

归档