用shell写一个冒泡排序
时间: 2024-05-05 17:16:03 浏览: 75
这里是一个使用shell语言实现冒泡排序的示例:
```shell
#!/bin/bash
# 定义要排序的数组
arr=(2 5 1 8 3)
# 获取数组长度
len=${#arr[@]}
# 冒泡排序
for ((i=0; i<$len-1; i++)); do
for ((j=0; j<$len-i-1; j++)); do
if (( ${arr[j]} > ${arr[j+1]} )); then
temp=${arr[j]}
arr[j]=${arr[j+1]}
arr[j+1]=$temp
fi
done
done
# 输出排序后的结果
echo ${arr[@]}
```
这个脚本首先定义了一个要排序的数组 `arr`,然后使用 `${#arr[@]}` 获取数组长度。接下来使用嵌套循环实现冒泡排序,最后输出排序后的结果。
相关问题
用shell写个冒泡排序算法
可以的,以下是一个用shell写的冒泡排序算法:
#!/bin/bash
arr=(5 3 8 4 2)
len=${#arr[@]}
for ((i=; i<$len-1; i++))
do
for ((j=; j<$len-i-1; j++))
do
if [ ${arr[j]} -gt ${arr[$((j+1))]} ]
then
temp=${arr[j]}
arr[j]=${arr[$((j+1))]}
arr[$((j+1))]=$temp
fi
done
done
echo ${arr[@]}
这个脚本定义了一个数组arr,然后使用两个循环来实现冒泡排序。第一个循环控制排序的轮数,第二个循环控制每一轮中比较的次数。在比较过程中,如果前一个元素大于后一个元素,就交换它们的位置。最后输出排序后的数组。
用shell脚本写一个冒泡程序
A:
```
#!/bin/bash
# 定义一个测试数组
arr=(8 3 1 7 0 4 6 9 2 5)
# 冒泡排序函数
function bubble_sort() {
for (( i = 0; i < ${#arr[@]}-1; i++ )); do
for (( j = 0; j < ${#arr[@]}-i-1; j++ )); do
if (( ${arr[$j]} > ${arr[$j+1]} )); then
temp=${arr[$j]}
arr[$j]=${arr[$j+1]}
arr[$j+1]=$temp
fi
done
done
}
# 调用冒泡排序函数
bubble_sort
# 打印排序后的数组
echo "排序后的数组为:${arr[@]}"
```
以上是一个用shell脚本写的冒泡排序程序,可以对任意数组进行排序,然后输出排序后的数组。程序中定义了一个测试数组,然后调用冒泡排序函数进行排序,并输出排序后的结果。
阅读全文