Linux Shell脚本代码未按应有的方式执行 冒泡排序:原始代码

Linux Shell脚本代码未按应有的方式执行 冒泡排序:原始代码,linux,shell,bubble-sort,Linux,Shell,Bubble Sort,您的程序中存在两个错误: 第8行-您正在调用数组arr[],但后来将其称为[]。更改其中一个名称以匹配另一个名称。 第10行-您的程序中没有$n。你是说$size。也要改变这个。 我认为你的计划应该在这之后生效 程序中有两个错误: 第8行-您正在调用数组arr[],但后来将其称为[]。更改其中一个名称以匹配另一个名称。 第10行-您的程序中没有$n。你是说$size。也要改变这个。 我认为你的计划应该在这之后生效 问题1:您交替使用了$size和$n 问题2:您再次交替使用了arr[]和a[]数

您的程序中存在两个错误:

第8行-您正在调用数组arr[],但后来将其称为[]。更改其中一个名称以匹配另一个名称。 第10行-您的程序中没有$n。你是说$size。也要改变这个。
我认为你的计划应该在这之后生效

程序中有两个错误:

第8行-您正在调用数组arr[],但后来将其称为[]。更改其中一个名称以匹配另一个名称。 第10行-您的程序中没有$n。你是说$size。也要改变这个。
我认为你的计划应该在这之后生效

问题1:您交替使用了$size和$n


问题2:您再次交替使用了arr[]和a[]数组。

问题1:您交替使用了$size和$n


问题2:您再次交替使用了arr[]和a[]数组。

是的……先在副本中写下了这一点,但没有注意到我更改了名称。。没有IDE来警告我,我这么做了。。愚蠢的我。。。为这愚蠢的事情道歉。是的…先写了一份,没有注意到我改了名字。。没有IDE来警告我,我这么做了。。愚蠢的我。。。为这愚蠢的事情道歉。是的…先写了一份,没有注意到我改了名字。。没有IDE来警告我,我这么做了。。愚蠢的我。。。为这愚蠢的事情道歉。。。现在程序运行良好:是的…先在副本中写了这个,但没有注意到我更改了名称。。没有IDE来警告我,我这么做了。。愚蠢的我。。。为这愚蠢的事情道歉。。。现在程序运行良好:脾气暴躁的老人旅想,期待一个用于shell脚本的IDE是什么意思?难道人们就不能自己思考吗?语法真是让人头疼!!脾气暴躁的老人团队认为,期待一个用于shell脚本的IDE是什么?难道人们就不能自己思考吗?语法真是让人头疼!!
clear
echo "Enter size : "
read size
echo "Enter elements : "
for (( i=0; i<size; i++ ))
do
    echo "Element " $i " : "
    read arr[$i]
done
m=$(($n-1))
for (( i=0; i<m; i++ ))
do
    cond=$((size-$i-1))
    for (( j=0; j<cond; j++ ))
    do
        l=$(($j+1));
        if [ ${a[$j]} -gt ${a[$l]} ]
        then
            tmp=${a[$j]}
            a[$j]=${a[$l]}
            a[$l]=$tmp
        fi
    done
done
echo "Sorted Data : "
echo ${a[*]}
clear
echo "Enter size : "
read size
echo "Enter elements : "
for (( i=0; i<size; i++ ))
do
    echo "Element " $i " : "
    read arr[$i]
done
m=$(($size-1))
for (( i=0; i<m; i++ ))
do
    cond=$(($size-$i-1))
    for (( j=0; j<cond; j++ ))
    do
        l=$(($j+1));
        if [ ${arr[$j]} -gt ${arr[$l]} ]
        then
            tmp=${arr[$j]}
            arr[$j]=${arr[$l]}
            arr[$l]=$tmp
        fi
    done
done
echo "Sorted Data : "
echo ${arr[*]}