package Sort;

import java.util.Random;

public class SelectionSort {

/**

*选择排序法、 

**/
//形参:数组名
public void SelectionSort(int[] a){
int temp;
for(int i = 0;i<a.length-1;i++)
{
int index = getMinIndex(a,i);
if(index != i){//如果得到的不是第一个元素的下标则交换(可以提高效率)
temp = a[i];
a[i]=a[index];
a[index]=temp;
}
}
for(int i = 0;i<a.length;i++){
System.out.println(a[i] + " ");
}
}
/** *
* 输入参数:数组名、开始序号,返回最小元素的下标、
* **/
private int getMinIndex(int[] a, int j) {
int min = a[j];
int index = j;
for(int i = j;i<a.length;i++){
if(a[i]<min){
min = a[i];
index = i;
}
}
return index;
}

public static void main(String[] args) {

int a[] = new int[10000];
Random ran = new Random();
for(int i=0;i<9999;i++){
a[i] = ran.nextInt(10000);
if(i % 100==0)
System.out.println("");
System.out.print(a[i] + " ");
}
long starttime = System.currentTimeMillis();
SelectionSort ss = new SelectionSort();
ss.SelectionSort(a);
long endtime = System.currentTimeMillis();
System.out.println("排序共花费"+(endtime-starttime)+"毫秒");
}
}

sort-选择排序法相关推荐

  1. 编写一个C程序,实现以下功能:定义一个学生结构体Student(含学号、姓名、年龄、身高)和一个函数sort(struct Student *p),该函数使用选择排序法按年龄由小到大排序。在主函数中

    编写一个C程序,实现以下功能: 定义一个学生结构体Student(含学号.姓名.年龄.身高)和一个函数sort(struct Student *p),该函数使用选择排序法按年龄由小到大排序.在主函数中 ...

  2. 指针选择排序法,10个整数从小到大排序

    //指针方法,选择排序法对10个int按从小到大排列 #include<stdio.h> main() {int n=10,i,b,a[10],*p;int sort(int *q,int ...

  3. CodeForces 489A SwapSort (选择排序法)

    SwapSort 题目链接: http://acm.hust.edu.cn/vjudge/contest/121332#problem/A Description In this problem yo ...

  4. 冒泡排序法和选择排序法比较(从小到大,升序)

    1.冒泡排序法 冒泡法的基本思想为将相邻的两个数进行比较,并且将较大的数赋值给后面的数.(可以看做将较大的数沉底.) 举个例子,现在我们有5个数,即3 ,7,2 , 1, 5.现在我们需要用冒泡法将它 ...

  5. 经典排序算法(一) —— Selection Sort 选择排序

    经典排序算法(一) -- Selection Sort 选择排序 文章目录 经典排序算法(一) -- Selection Sort 选择排序 简介 排序过程 实现 复杂度 简介 选择排序是一种简单直观 ...

  6. 用选择排序法对数组中10个整数从大到小排序

    选择排序法:在一组数据中,选出最小(大)的一个数,与第一个位置的数交换,在剩下数中找最小(大)的与第二个位置的数交换,以此类推. 使用一个函数实现: #include<stdio.h> v ...

  7. 经典算法之冒泡排序法与直接选择排序法

    活动地址:21天学习挑战赛 文章目录 一.冒泡排序法 1.基本思想 2.算法步骤 3.代码实践 4.复杂度分析 二.直接选择排序法 1.基本思想 2.算法步骤 3.代码实践 4.复杂度分析 一.冒泡排 ...

  8. 排序算法——选择排序法(Select Sorting)

    选择排序(Select Sorting) 基本介绍 ​ 选择排序也属于内部排序法,是从预排序的数据中,按指定的规则选出某一元素,再依规定交换位置后达到排序的目的 选择排序思想 ​ 选择排序(Selec ...

  9. 选择排序法——超详细的总结

    之前在我的博文中详细介绍了冒泡排序,它的基本思想是:每次比较相邻两个数的大小,只要逆序(和题意要求的顺序相反),就交换两个数:这样交换的次数繁多!而选择排序法就避免了这个问题. 选择排序的基本思想: ...

  10. 面试官:你都工作3年了,连选择排序法都不会,我怎么能选择你

    面试时,算法经常会遇到,特别是一些常见的算法. 张工毕业3年了,一直在一家创业公司做python开发,最近到某知名互联网公司面试,做了笔试题后,面试官看了觉得还不错,于是想进一步考察张工的编码能力,就 ...

最新文章

  1. 树莓派nginx无法安装mysql_树莓派上安装nginx
  2. 数据结构入门之链表(C语言实现)
  3. 用四张图说清楚Go程序调度的本质
  4. “要么你去驾驭生命,要么生命驾驭你。你的心态决定谁是坐骑,谁是骑师。”...
  5. mysql bit类型_Mysql:bit类型的查询与插入
  6. 为什么微信、Facebook都在做企业通信软件
  7. Stereoscopic Player 1.7.4 (SSP) 加载字幕
  8. javafx button按钮分组突出选中按钮(ToggleButton)
  9. SSM+校园网上订餐系统 毕业设计-附源码211510
  10. JavaScript中的replace替换
  11. 怎么关闭计算机管理窗口,桌面窗口管理器已停止工作并应关闭这应该怎么解决啊...
  12. 基于单片机的水库控制系统设计
  13. 董明珠和雷军的十亿赌约马上就要到了,谁会笑到最后?
  14. cwRsync 文件备份
  15. [AISTATS21]Towards Flexible Device Participation in Federated Learning阅读笔记
  16. Android界面美化的一点点积累
  17. 类,__dift__,__len__,__add__,__new__,__init__
  18. MTK Android Driver :Camera
  19. HihoCoder - 1272 买零食
  20. fan_in / fan_out 的理解

热门文章

  1. 基于arduino的5路循迹小车(1)
  2. 知乎 量子计算机 未来,知乎打脸媒体“无脑吹”昆仑量子计算模拟机
  3. fiddle无法抓包小程序解答
  4. SOLR7实践(二)--DIH配置及使用
  5. 美图手机sim卡显示无服务器,美图手机卡顿怎么解决
  6. Spark Shell 的使用
  7. 【计算机图形学 】扫描线多边形填充算法 | OpenGL+鼠标交互
  8. Android开发实现人脸识别
  9. 经济数据预测 | Python实现ARIMA时间序列金融市场预测
  10. Docker 相关配置文件路径