【第五关】【挑战】数组中的两个相邻值对调的方法

 

这是一个常见的问题,就是把数组中的 b 和 c 调换一下位置,什么办法最简单?

array:=["a","b","c","d"]

以下代码来自feiyue

上移:
下移:
i:=InStr(A_GuiControl, "上") ? Max(1,index-1) : Min(index+1,len)
r:=ini数组[i], ini数组[i]:=ini数组[index], ini数组[index]:=r
For k,v in ini数组
  收藏选项.=v "`n"

这段代码不是一个完整代码,如果想运行自行脑补吧!

如果你有更好的方案请在留言去补充,这篇文章接受你的挑战了。

挑战成功,奖励10个积分!

判定标准:实现上述需求,方法与已挑战成功的均不一样!

 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA捐赠
共{{data.count}}人
人已捐赠
其他教程

AHK调用opencv(三)从相机捕捉视频

2022-2-14 21:47:20

其他教程

AHK调用opencv(四)播放视频文件

2022-2-14 22:50:36

5 条回复 A文章作者 M管理员
  1. 月下马

    Home::
    array:=[“a”,”b”,”c”,”d”]
    array.RemoveAt(2)
    array.InsertAt(3, “b”)
    For k, v in array
    s .= k . “=” . v . “`n”
    MsgBox % s
    Return

    • hexuren

      不是你这个意思,是要两个项对调,移除第二项的时候你本来是不知道第二项是啥,你要先取出来,插入你取出来的那一项。

  2. ilaoyao

    #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
    #Persistent
    #SingleInstance FORCE
    SetBatchLines -1
    array1:=[“a”,”b”,”c”,”d”]
    test=
    return

    ^S::
    loop , % array1._maxindex()
    {
    if (mod(a_index,2)=0)
    {
    tmp1 :=array1[a_index]
    array1[a_index] :=array1[a_index-1]
    array1[a_index-1] :=tmp1
    test.=array1[a_index-1] . array1[a_index]

    }
    }
    MsgBox % test
    Return

  3. 僵尸牌木乃伊

    array:=[“a”,”b”,”c”,”d”]
    ccc := Tx(2,4,array) ; 调换2-4
    ddd := Tx(2,3,array) ; 调换2-3
    MsgBox % “调换2-4 ” ccc[1] “-” ccc[2] “-” ccc[3] “-” ccc[4] “`n调换2-3 ” ddd[1] “-” ddd[2] “-” ddd[3] “-” ddd[4]

    Tx(s, w := “”,arr*){
    Newarr := []
    w := !w ? s+1 : w
    For k,v in arr[1]
    {
    If (k = s){
    Newarr.Push(arr[1][w])
    Continue
    }
    If (k = w){
    Newarr.Push(arr[1][s])
    Continue
    }
    Newarr.Push(arr[1][k])
    }
    Return Newarr
    }

  4. 僵尸牌木乃伊

    array:=[“a”,”b”,”c”,”d”,”e”,”f”]
    Tx(array,2,4) ; 调换2-4

    Tx(ByRef arr, s, w := “”){
    Newarr := []
    w := !w ? s+1 : w
    For k,v in arr
    {
    If (k = s){
    Newarr.Push(arr[w])
    Continue
    }
    If (k = w){
    Newarr.Push(arr[s])
    Continue
    }
    Newarr.Push(arr[k])
    }
    arr := Newarr
    }

个人中心
购物车
优惠劵
有新私信 私信列表
搜索