陣列及氣泡排序

2021-10-10 11:12:23 字數 3512 閱讀 3001

氣泡排序

陣列中可以存放多個值。bash shell 只支援一維陣列(不支援多維陣列),初始化時不需要定義陣列大小

與大部分程式語言類似,陣列元素的下標由0開始。

方法一:陣列名=(value0 value1 value2 …)

方法二:陣列名=([0]=value [1]=value [2]=value … )[ ]:下標

方法三:列表名=「value0 value1 value2 … 」

陣列名=($列表名)

方法四:陣列名[0]=「value」

陣列名[1]=「value」

陣列名[2]=「value」

例:

方法一:[root@server2 ~

]# b=(1

2345

)方法二:[root@server2 ~

]# c=([

0]=10

[1]=

20[2]

=30)方法三:[root@server2 ~

]# list=

"a b c d"

[root@server2 ~

]# d=($list)

方法四:[root@server2 ~

]# e[0]

=11[root@server2 ~

]# e[1]

=12[root@server2 ~

]# e[2]

=13[root@server2 ~

]# e[3]

=14

[root@server2 ~

]# b=(1

2345

)[root@server2 ~

]# echo $

5[root@server2 ~

]# echo $

5[root@server2 ~

]# echo $

1[root@server2 ~

]# echo $

5[root@server2 ~

]# echo $12

345c=

([0]

=10[1

]=20[

2]=30

)[root@server2 ~

]# echo $

3[root@server2 ~

]# echo $

10[root@server2 ~

]# echo $

30[root@server2 ~

]# echo $

1020

30

[root@server2 ~]# vi num.sh

[root@server2 ~]# chmod +x num.sh

[root@server2 ~]# ./num.sh

#!/bin/bash

# 陣列迴圈a=(

1234

5)for num in $

do echo $num

done

[root@server2 ~

]# b=(1

2345

)[root@server2 ~

]# echo $ (在輸出時替換,本質未變)12

3345[root@server2 ~

]# echo $12

345[root@server2 ~

]# b=$ (改變本源)

[root@server2 ~

]# echo $b12

3345

[root@server2 ~

]# unset b

[root@server2 ~

]# echo $

無結果

通過對資料迴圈排序,得出數值大小,進行排序

score =(10 5 1 100 70 60)

[root@server2 ~

]# vi maopao.sh

[root@server2 ~

]# chmod +x maopao.sh

[root@server2 ~

]# .

/maopao.sh

#!/bin/bash

# 氣泡排序

score=(10

511007060)

for(

(i=1

;i;i++))

dofor

((j=

0;j-$i;j++))

doif

[ $-gt $

] then temp=$ 中間變數

score[j]

=$ score[$(

($j+1)

)]=$temp

fidone

done

echo $

此處[$(

($j+1)

)]可以替換為[j+

1]

[root@server2 ~

]# vi maopao.sh

[root@server2 ~

]# chmod +x maopao.sh

[root@server2 ~

]# .

/maopao.sh

#!/bin/bash

# 鍵盤輸入氣泡排序

k=0 陣列第一位元素

while

true 一直繼續,迴圈

do read -p "是否需要輸入數值?"

do 變數名

if[ $do

=="no"

] 只要不輸入no就一直繼續

then break 退出迴圈

firead -p "請輸入第$(($k+1))個元素" key

陣列及排序(冒泡 選擇 快速排序)

1.陣列 使用單獨的變數名來儲存一系列的值 簡單的說,陣列的作用,就是乙個容器,將多個資料儲存起來 2.宣告陣列的方法 字面量 var arr eg var arr 兔子1 兔子2 兔子3 兔子4 console.log arr 建構函式方法 var arr new array 如果引數為乙個數值 ...

陣列排序 氣泡排序

氣泡排序 氣泡排序 bubble sort 基本思想 兩個數比較大小,較大的數下沉,較小的數冒起來。演算法描述 比較相鄰的元素。如果第乙個比第二個大,就交換它們兩個 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對,這樣在最後的元素應該會是最大的數 針對所有的元素重複以上的步驟,除了最後乙...

陣列,氣泡排序

從鍵盤中任意輸入任意多個數字,即可告訴你最大值和最小值 include void max int str,int n int main 上面得到的是你要輸入的整數的值 下面的函式使用氣泡排序的方式來進行比較的 max a,n return 0 void max int str,int m 這裡你要知...