算法-排序-选择排序

  很久没有复习算法了,今天开始准备拿来练练手。

  先从简单的选择排序入手。

  选择排序,即按顺序,每次从某数开始,选择出一个最小(大)数,与某数交换位置。

  

 1 /*
 2  * Copyright (c) 2015  4  * All rights reserved.
 5  */
 6 package sort;
 7 /**
 8  * Description        : 选择排序算法
 9  * <p/>
10  * <br><br>Time        : 2015-11-3 下午4:58:05
11  *
12  * @author ZXL
13  * @version 1.0
14  * @since 1.0
15  */
16 public class SelectionSort {
17     public static void main(String[] args) {
18         int[] nums= {4,8,7,5,8,5,9,3,2,1};
19         SelectionSort.selection(nums);
20         for (int e : nums){
21             System.out.print(e+",");
22         }
23     }
24     
25     public static void selection(int[] nums){
26         int temp = 0;
27         int mark = 0;//用于标记最小数的位置
28         for (int i=0; i<nums.length; i++){
29             //每次从某数开始
30             int min = nums[i];
31             //往后与后面的数比大小,找出最小数
32             for (int j=i; j<nums.length; j++){
33                 if (min>nums[j]){
34                     min = nums[j];
35                     mark = j;
36                 }
37             }
38             //与之交换位置
39             temp = nums[i];
40             nums[i] = nums[mark];
41             nums[mark] = temp;
42         }
43     }
44 }

 

转载于:https://www.cnblogs.com/lindaZ/p/4934178.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值