Shell中基于数组的栈模拟实现

来源:互联网 发布:c语言返回布尔值 编辑:程序博客网 时间:2024/05/18 03:08

1、Shell数组基本操作

    1)数组定义及初始化

         array=(1 2 3)# 注意用空格将各个元素分开而不是逗号或者分号;

        另外还可直接赋值实现初始化:

        array[0]=1

        array[1]=2

        array[2]=3

    2)数组长度获取

        Echo “the length of array:”${#array[@]}

    3)数组元素获取

        全部元素获取:${array[@]}

        某个固定位置元素获取:${array[1]}

        部分元素获取:获取下标为2-3的元素:${array[@]:2:3},获取从下标2开始的所有元素:${array[@]:2},获取下标小于2的所有元素:${array[@]::2}

    4)数组元素删除

        unset array[0]

    5)数组遍历

        #利用for进项遍历(有下标显示)

         for i in "${!array[@]}"

         do

             printf  "%s\t%s\n" "$i" "${array[$i]}"

         done

        #利用for进项遍历(无下标显示)

          for var in "${array[@]}"

         do

              echo $var

         done

        #利用while进项遍历

         i=0

         while [ $i -lt ${#array[@]} ]

         do

             echo ${array[$i]}

             ((i++))

         done

2、基于数组的模拟栈实现

     array=(1 2 3 4 5)

    Push操作:

        array=(“${array[@]}” $element)

    Pop操作:

        if [ ${#array[@]} -gt 0 ];then

        array=(${array[@]:0:$((${#array[@]}-1))})

        fi

0 0
原创粉丝点击