package com.syd.sort;

/**
* Description:
* ClassName:SelectSort
* Package:com.syd.sort
* Date:2018/6/8 21:59
* Author: syd-fish
*/
public class SelectSort {
public static void main(String[] args) {
int n = 100;
int[] arrs = factoryRandomDigit(n);
for (int i=0; i<n-1; i++){
int temp = i;
for (int j=i+1; j<n; j++){
if (arrs[j]<arrs[temp]){
temp=j;
}
}
if (temp > i){
swap(arrs,i,temp);
}
} for (int i=0; i<n-1; i++){
if(arrs[i]>arrs[i+1]){
System.err.println("排序错误!");
}
}
for (int i=0; i<n; i++){
System.err.print(arrs[i]+",");
}
}
private static void swap(int[] arrs ,int arr1, int arr2) {
int t = arrs[arr1];
arrs[arr1] = arrs[arr2];
arrs[arr2] = t;
}
private static int[] factoryRandomDigit(int n) {
int[] arrs = new int[n];
for (int i=0 ; i<n; i++){
arrs[i] = (int) (Math.random()*n);
}
return arrs;
} }

用idea还是不太习惯,刚开始把swap方法写成如下这样,废了好一番功夫,才查出来错误

private static void swap(int arr1, int arr2) {
int t = arr1;
arr1 = arr2;
arr2 = t;
}

Select Sort的更多相关文章

  1. 排序算法总结(三)选择排序【Select Sort】

    一.原理 选择排序的原理非常简单,就是选出最小(大)的数放在第一位,在剩下的数中,选出最小(大)的数,放在第二位......重复上述步骤,直到最后一个数. 二.过程 原始数据 第一次排序,选出最小的数 ...

  2. 算法----选择排序(select sort)

    排序不是一个时间的数组进行排序,找到最小的元素,其与阵列的第一个元素交换,因此,排序的数组. 算法: void sort::select_sort(int* a,const int n) { for( ...

  3. Java经典算法之选择排序(Select Sort)

    思路:就是把所有数据项扫描一遍,挑出最小的那个和最左边的交换位置,即放到0位置.现在最左边的就是有序得了,不需要在交换位置,再次扫描数据时就是从1开始,还是寻找最小的和1交换位置,直到所有数据都是有序 ...

  4. Sort Methods

    heyheyhey ~~ It has been a long time since i come here again...whatever today i will summerize some ...

  5. Lucene 排序 Sort与SortField

    在sql语句中,有升序和降序排列.在Lucene中,同样也有. Sort里的属性 SortField里的属性 含义 Sort.INDEXORDER SortField.FIELD_DOC 按照索引的顺 ...

  6. 排序(Sort)-----选择排序

       声明:文中动画转载自https://blog.csdn.net/qq_34374664/article/details/79545940    1.选择排序简介 选择排序(Select Sort ...

  7. Html5 简单选择排序演示

    简单选择排序,是选择排序算法的一种.基本思想:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止.由于在每次循环中,会对数值相等的元素改变位置,所以属于非稳定 ...

  8. C++ 系列:多线程编程基础知识

    Copyright © 1900-2016, NORYES, All Rights Reserved. http://www.cnblogs.com/noryes/ 欢迎转载,请保留此版权声明. -- ...

  9. solr使用语法笔记

    http://127.0.0.1:8095/shangbiao_sale/select?sort=id+desc&fq=&wt=json&json.nl=map&q=s ...

随机推荐

  1. jquery 拓展函数集

    方式: 通过拓展在调用$()时返回的包装器 1.将函数绑定到$.fn $.fn.disable = function(){ return this.each(function(){ if (typeo ...

  2. ubuntu终端颜色设置

    在 .bashrc中增加 PS1='${debian_chroot:+($debian_chroot)}\[\033[00;32m\]\u @ \h\[\033[00m\]:\[\033[00;34m ...

  3. JavaScript练习笔记整理·4 - 6.26

    基础练习(1): 我的解答为: function getMiddle(s) { if(s.length%2 == 0) { return s.charAt(s.length/2-1)+s.charAt ...

  4. 关于 class 的命名

    class名称中只出现小写字符和破折号 使用有组织或目的明确的名称,不使用表现形式 基于最近的的父class 作为新class的前缀 使用 .js-* 来标识行为,并且不要将这些class包含到css ...

  5. KMP算法的一个简单实现

    今天学习KMP算法,参考网上内容,实现算法,摘录网页内容并记录自己的实现如下: 原文出处: http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93M ...

  6. CentOS 7运维管理笔记(8)----Apache基于域名的虚拟主机配置

    使用基于域名的虚拟主机配置是比较流行的方式,可以在同一个IP上配置多个域名并且都通过80端口访问. (1) 在网卡 eth0的第五个接口上配置 192.168.1.215 这个地址: (2) 配置/e ...

  7. Java常用开发组件介绍

    1.Lombok的使用 http://www.cnblogs.com/ywqbj/p/5711691.html 2.Guava的使用 http://www.yiibai.com/guava/

  8. 深入理解mysql的底层实现

    MySQL 的常用引擎 1. InnoDB InnoDB 的存储文件有两个,后缀名分别是 .frm 和 .idb,其中 .frm 是表的定义文件,而 idb 是数据文件. InnoDB 中存在表锁和行 ...

  9. python shopping incomplete code

    #shopping code#shopping.py#导入登录模块import login# shop car beginningsalary = input("请输入工资:\t" ...

  10. git internal for computer scientists

    http://eagain.net/articles/git-for-computer-scientists/ git object storage仅仅是一个DAG of objects, 有几种类型 ...