猿问

现有一个数组,list=(1 5 3 2 4) ,写一段代码实现排序,输出结果是 (1 2 3 4 5),请问大神们怎么写?

急急急!



飞奔的小强
浏览 2859回答 6
6回答

qq_青枣工作室_0

#!/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[@]}"

jlhome

<?php $list=array(1 ,5 .3. 2 ,4); sort($list);

灬紫羽

<?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

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)

慕斯卡6506885

list=(1,5,3,2,4) b = sorted (list) print b

飞奔的小强

忘了说了,好像是要用bash写。。。求教
随时随地看视频慕课网APP
我要回答