当前位置: 首页 > news >正文

做农业种子的网站图片库

做农业种子的网站,图片库,沈阳app定制,网站栏目页如何做目录 一.数组 1.基本概念 2.定义数组的方法 2.1.方法一 2.2.方法二 2.3.方法三 2.4.方法四 2.5.查看数组长度 2.6.查看数组元素下标 3.数组分片 4.数组字符替换 4.1.临时替换 4.2.永久替换 5.数组删除 5.1.删除某个下标 5.2.删除整组 6.数组遍历和重新定义 7…目录 一.数组 1.基本概念 2.定义数组的方法 2.1.方法一 2.2.方法二 2.3.方法三 2.4.方法四 2.5.查看数组长度 2.6.查看数组元素下标 3.数组分片 4.数组字符替换 4.1.临时替换 4.2.永久替换 5.数组删除 5.1.删除某个下标 5.2.删除整组 6.数组遍历和重新定义 7.数组追加元素 7.1.方法一 7.2.方法二 7.3.方法三 7.4.方法四 8.用函数判断数组是否完整 9.向函数传数组参数 10.从函数返回数组 10.1.实操 二.数组排序算法拓展 1.冒泡排序 1.1.概述 1.2.基本思想 1.3.算法思路 1.4.实操 2.直接选择排序 2.1.概述 2.2.基本思想 2.3.相关实操 3.反转排序 3.1.概述 3.2.基本思想 3.3.实操 一.数组 1.基本概念 数组Array是有序的元素序列若将有限个类型相同的变量的集合命名那么这个名称为数组名组成数组的各个变量称为数组的分量也称为数组的元素有时也称为下标变量用于区分数组的各个元素的数字编号称为下标数组是在编程中为了处理方便 把具有相同类型的若干元素按有序的形式组织起来的一种形式 2.定义数组的方法 2.1.方法一 数组名value0 value1 value2 ... 2.2.方法二 数组名[0]value [1]value [2]value ... 2.3.方法三 列表名value0 value1 value2 ...数组名($列表名) 2.4.方法四 数组名 [0]value数组名 [1]value数组名 [2]value 2.5.查看数组长度 echo ${#数组名[]}echo ${#数组名[*]}2.6.查看数组元素下标 echo ${!数组名[]}echo ${!数组名[*]}3.数组分片 echo ${数组名[]:下标:长度}echo ${数组名[*]:下标:长度}4.数组字符替换 echo ${数组名[]/旧字符/新字符}数组名(${数组名[*]/旧字符/新字符}) 通过重新定义的方式实现永久替换 4.1.临时替换 4.2.永久替换 5.数组删除 unset 数组名[下标] 删除数组的某个下标unset 数组名 删除数组5.1.删除某个下标 5.2.删除整组 6.数组遍历和重新定义 arr(1 2 3 4 5) n0 for i in ${arr[]} doarr[$n]$[i*2]let n done7.数组追加元素 7.1.方法一 数组名[新下标]新元素 7.2.方法二 数组名[数组长度]新元素 仅适用于完整的数组 7.3.方法三 数组名(新元素1 新元素2 ....)7.4.方法四 数组名(${数组名[]} 新元素1 新元素2 ....) 8.用函数判断数组是否完整 #!/bin/bash #判断一个数组是否完整 array1(10 20 30 40 50 60) array3([0]a [1]b [2]c [3]d [5]f)#获取数组长度 length1${#array1[]} length3${#array3[]}#获取长度n - 1 的下标 last1$[length1 - 1] last3$[length3 - 1]#获取数组最后一个元素下标 last1_num$(echo ${!array1[]} | awk {print $NF}) last3_num$(echo ${!array3[]} | awk {print $NF})#判断长度n - 1 的下标 是否与 数组最后一个元素下标 相同 if [ $last1 -eq $last1_num ];thenecho array1 数组完整 elseecho array1 数组不完整 fiif [ $last3 -eq $last3_num ];thenecho array3 数组完整 elseecho array3 数组不完整 fi9.向函数传数组参数 函数名() {数组2($) #在函数体内将传入的列表重新组成数组.... }函数名 ${数组1[]} #在函数体外将数组分解成列表传入 10.从函数返回数组 函数名(){....echo ${数组2[]} #在函数体内以列表形式返回值 }数组1(函数名 参数) #在函数体外将函数执行的结果重新组合成数组 10.1.实操 #!/bin/bash test1() {#在函数里将传入的元素列表重新组成数组arr2($)#遍历数组方法一for ((i0; i${#arr2[]}; i))doarr2[$i]$[${arr2[$i]} *2]done#从函数返回数组echo ${arr2[]}#遍历数组方法二#n0#for i in ${arr2[]}# arr2[$n]$[$i * 2]# let n# done }arr1(50 40 30 20 10) # 向函数传入数组 result$(test1 ${arr1[]})#在函数体外将函数返回的值列表重新组成数组 arr1($result)echo arr double以后的值为 ${arr1[]}二.数组排序算法拓展 1.冒泡排序 1.1.概述 类似气泡上涌的动作会将数据在数组中从小到大或者从大到小不断的向前移动 1.2.基本思想 冒泡排序的基本思想是对比相邻的两个元素值如果满足条件就交换元素值把较小的元素移动到 数组前面把大的元素移动到数组后面也就是交换两个元素的位置这样较小的元素就像气泡 一样从底部上升到顶部 1.3.算法思路 冒泡算法由双层循环实现其中外部循环用于控制排序轮数一般为要排序的数组长度减1次因 为最后一次循环只剩下一个数组元素不需要对比同时数组已经完成排序了。而内部循环主要用 于对比数组中每个相邻元素的大小以确定是否交换位置对比和交换次数随排序轮数而减少 1.4.实操 [rootlocalhost day14]# vim demo4.sh [rootlocalhost day14]# bash demo4.sh 原始数组的顺序为 63 4 24 1 3 15 排序后数组顺序为 63 24 15 4 3 1 #!/bin/bash #冒号排序算法arr(63 4 24 1 3 15) echo 原始数组的顺序为 ${arr[]}#获取数组长度 length${#arr[]}#外循环确定比较轮数比较论述为数组长度 - 1 for ((a1; alength; a)) do#内循环来比较相邻两个元素从小到大排序较大的往后放每轮的比较次数随着轮数增加而减少for ((b0; blength-a; b))do#获取左边比较元素的值left${arr[$b]}#获取右边比较元素的值c$[b 1]right${arr[$c]}#比较相邻两个元素,如果左边的元素值大于右边的则元素互换if [ $left -lt $right ];thentmp$left#将原来右边元素的值定义到左边元素arr[$b]$right#将原来左边元素的值定义到右边元素arr[$c]$tmpfidone doneecho 排序后数组顺序为 ${arr[]}2.直接选择排序 2.1.概述 与冒泡排序相比直接选择排序的交换次数更少所以速度会快些 2.2.基本思想 将指定排序位置与其它数组元素分别对比如果满足条件就交换元素值注意这里区别冒泡排序 不是交换相邻元素而是把满足条件的元素与指定的排序位置交换如从最后一个元素开始序 这样排序好的位置逐渐扩大最后整个数组都成为已排序好的格式 2.3.相关实操 [rootlocalhost day14]# vim demo5.sh [rootlocalhost day14]# bash demo5.sh 原始数组的顺序为 63 4 24 1 3 15 排序后的数组顺序为 1 3 4 15 24 63#!/bin/bash #直接选择排序arr(63 4 24 1 3 15) echo 原始数组的顺序为 ${arr[]}length${#arr[]} #外循环 确定排序轮数轮数为数组长度 - 1 for ((a1; alength; a)) do#定义初始最大元素的下标为0max0#内循环 确定当前比较轮数最大的元素下标for ((b1; blength-a; b)) #设置作为与初始最大元素比较的元素下标范围doif [ ${arr[$b]} -gt ${arr[$max]} ];thenmax$bfidone#用当前轮数最大的元素与当前轮数最后一个元素交换位:last$[length - a]tmp${arr[$last]}arr[$last]${arr[$max]}arr[$max]$tmp doneecho 排序后的数组顺序为 ${arr[]} 3.反转排序 3.1.概述 以相反的顺序把原有数组的内容重新排序 3.2.基本思想 把数组最后一个元素与第一个元素替换倒数第二个元素与第二个元素替换以此类推直到把所 有数组元素反转替换 3.3.实操 [rootlocalhost day14]# vim demo6.sh [rootlocalhost day14]# bash demo6.sh 输入一个数组的列表: 50 42 32 11 5 原始数组的顺序为 50 42 32 11 5 #!/bin/bash #反转排序 filp() { array($) length${#array[]}for ((a0; alength/2; a)) dotmp${array[$a]}last$[length-1-a]array[$a]${array[$last]}array[$last]$tmp doneecho 反转排序后的数组顺序为 ${array[]} } read -p 输入一个数组的列表: num arr($num) echo 原始数组的顺序为 ${arr[]}filp ${arr[]}
http://www.hkea.cn/news/14521772/

相关文章:

  • 做服装网站设计书wordpress腾讯企业邮箱
  • 商务网站建设PDF下载北京专业制作网站
  • 萝岗哪家网站建设好如何做360搜索网站
  • 网站seo啥意思wordpress手机无法访问
  • 徐州有哪些制作网站的公司吗上海注册公司注册地址
  • 网站建设竞标需要怎么做租车网站模版
  • 购物网站开发中查看订单的实现逻辑有什么可以制作图片的软件
  • 东莞网站制作企业网站锦州建设局网站
  • 网站建设的感想和建议海南在线一家
  • 肯德基网站建设苏州网站营销公司
  • 怎么查网站是谁建的网站用什么系统好用
  • 网站数据没有更新株洲公司网站建设
  • 网站建设应注意哪些问题三明交通建设集团网站
  • 合肥网站建设网站制作驻马店网站开发
  • 中国建设服务信息网站电商加盟网站建设
  • 推广网站有多少家网络营销基本含义
  • 银川网站建设报价广东东莞人才市场
  • 医疗网站建设及优化方案服装企业网站建设可行性分析
  • 青岛百度网站建设安康学院的费用
  • c#网站开发技术成都手机网站建设
  • 北仑网站建设29gz优质的常州网站建设
  • 企业网站策划建设方案百度大学生创新创业大赛英文
  • 呼家楼做网站的公司哪家好电商培训机构有哪些?哪家比较好
  • 服务器可以做网站吗河北邯郸房产网
  • 东莞网站建设网络推广绍兴模板建站代理
  • 南宁电商网站建设深圳宝安区网站建设
  • seo还能赚钱吗门户网站优化报价
  • 电商平台网站开发基于html的网站开发
  • 网站 被降权北京网站建设公司收购
  • 阿里云建站文章搜索做音乐 交流网站