首页 > 代码库 > shell--数组 组合 高级应用
shell--数组 组合 高级应用
#!/bin/bash # 用shell中的数组构造统计不同的组合个数. # 下面的组合有(1,6)(3,4)(5,5)(1,6)(5,5)(4,3)(1,8) # 不同的组合为(1,6)(3,4)(5,5)(4,3)(1,8) arrayLeft=(1 3 5 1 5 4 1) arrayRight=(6 4 5 6 5 3 8) # comNum用来表示不同组合个数 comNum=0 arrayLeftLength=${#arrayLeft[*]} if [[ arrayLeftLength -ge 1 ]] then array[0]="${arrayLeft[0]} ${arrayRight[0]}" arrayDiff[0]=${array[0]} ((comNum+=1)) fi for ((i=1;i<arrayLeftLength;i++)) do array[$i]="${arrayLeft[$i]} ${arrayRight[$i]}" sameFlag=0 for ((j=0;j<=$(($i-1));j++)) do if [[ "${array[$i]}" = "${array[$j]}" ]] then sameFlag=1 break fi done if [[ sameFlag -eq 1 ]] then : else arrayDiff[$comNum]=${array[$i]} ((comNum+=1)) fi done echo $comNum echo ${array[*]} echo ${arrayDiff[*]} for ((i=0;i<arrayLeftLength;i++)) do echo ${arrayDiff[$i]} done
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。