急急急!
6 回答
已采纳
qq_青枣工作室_0
TA贡献446条经验 获得超754个赞
#!/bin/bash
list=(1 5 3 2 4)
echo "原数组:${list[@]}"
length=${#list[@]}
for (( i=0; i<$length-1; i++ ))
do
for (( j=$length-1; j>i; j--))
do
if [[ ${list[j]} -lt ${list[j-1]} ]]; then
temp=${list[j]}
list[j]=${list[j-1]}
list[j-1]=$temp
fi
done
done
echo "排序后:${list[@]}"
灬紫羽
TA贡献107条经验 获得超71个赞
<?php
$list = array(1,5,3,2,4);
function quickSort($arr) {
//先判断是否需要继续进行
$length = count($arr);
if($length <= 1) {
return $arr;
}
//选择第一个元素作为基准
$base_num = $arr[0];
//遍历除了标尺外的所有元素,按照大小关系放入两个数组内
//初始化两个数组
$left_array = array(); //小于基准的
$right_array = array(); //大于基准的
for($i=1; $i<$length; $i++) {
if($base_num > $arr[$i]) {
//放入左边数组
$left_array[] = $arr[$i];
} else {
//放入右边
$right_array[] = $arr[$i];
}
}
//再分别对左边和右边的数组进行相同的排序处理方式递归调用这个函数
$left_array = quickSort($left_array);
$right_array = quickSort($right_array);
//合并
return array_merge($left_array, array($base_num), $right_array);
}
echo "<br/>";
print_r(quickSort($list));
萧沐123
TA贡献2条经验 获得超1个赞
def paixu(l): a=len(l) i=0 while i<a: if i==0 or l[i-1]<=l[i]: i+=1 else: m=l[i-1] l[i-1]=l[i] l[i]=m i-=1 return l l=[1,5,3,2,4] paixu(l)
- 6 回答
- 0 关注
- 3042 浏览
添加回答
举报
0/150
提交
取消
