《算法导论》习题2.2-2 选择排序

伪代码:

 
  
SELECTION-SORT
1
for i=2 to A.length-1 2  max = A[i] 3  mark = i 4 for j=i+1 to A.length 5 if A[j]>max 6  max=A[j] 7 mark = j 8 A[mark]=A[i] 9 A[i] = max
 
 

Java 实现:

public class SelectionSort {
    
    public static double [] sort(double [] A)
    {
        for(int i = 0; i<A.length-1; i++)
        {
            double max = A[i];
            int mark = i;
            for(int j =i+1;j<A.length;j++)
              if(A[j]>max)
              {
                  max = A[j];
                  mark = j;
              }
            A[mark] = A[i];
            A[i]=max;
        }
        return A;
    }
    public static void main(String[] args) {
        double [] A = {1.3, 5 ,2, 6.9, 2.0,7.8,4.3};
        A = SelectionSort.sort(A);
        for(double a:A)
            System.out.print(a+" ");
    }
}

 

转载于:https://www.cnblogs.com/wzm-xu/p/4077262.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值