选择排序

python实现:

def selection_sort(collection):
    length = len(collection)
    for i in range(length-1):
        least = i;

        for k in range(i+1,length):
            if collection[k] < collection[least]:
                least = k

        if least != i:
            collection[least],collection[i] = (collection[i],collection[least])

    return collection



if __name__ == "__main__":
    user_input = input("输入排序数字,按逗号分隔:\n").strip()
    unsorted = [int(item) for item in user_input.split(",")]
    print(selection_sort(unsorted))
    

java实现:

public class select_sort {
    public static void main(String[] args) throws IOException {
        System.out.println("输入排序数字,按逗号分隔:");
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] arra = br.readLine().split(",");
        Integer[] array = new Integer[arra.length];
        for(int i=0; i<arra.length; i++)
            array[i] = Integer.parseInt(arra[i]);

        for(int i=0;i<selectSort(array).length;i++)
            System.out.print(array[i]+",");

    }

    private static Integer[] selectSort(Integer[] notSort) {

        int len = notSort.length;
        int least = 0;
        for(int i = 0 ; i<len-1;i++){

            least = i;
            for(int j = i+1; j < len ; j++){

                if(notSort[least] > notSort[j])
                    least = j;
            }
            if(least != i){
                int temp = 0;
                temp = notSort[least];
                notSort[least] = notSort[i];
                notSort[i] = temp;
            }

        }
        return notSort;

    }
    
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值