sort-选择排序法
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-选择排序法相关推荐
- 编写一个C程序,实现以下功能:定义一个学生结构体Student(含学号、姓名、年龄、身高)和一个函数sort(struct Student *p),该函数使用选择排序法按年龄由小到大排序。在主函数中
编写一个C程序,实现以下功能: 定义一个学生结构体Student(含学号.姓名.年龄.身高)和一个函数sort(struct Student *p),该函数使用选择排序法按年龄由小到大排序.在主函数中 ...
- 指针选择排序法,10个整数从小到大排序
//指针方法,选择排序法对10个int按从小到大排列 #include<stdio.h> main() {int n=10,i,b,a[10],*p;int sort(int *q,int ...
- CodeForces 489A SwapSort (选择排序法)
SwapSort 题目链接: http://acm.hust.edu.cn/vjudge/contest/121332#problem/A Description In this problem yo ...
- 冒泡排序法和选择排序法比较(从小到大,升序)
1.冒泡排序法 冒泡法的基本思想为将相邻的两个数进行比较,并且将较大的数赋值给后面的数.(可以看做将较大的数沉底.) 举个例子,现在我们有5个数,即3 ,7,2 , 1, 5.现在我们需要用冒泡法将它 ...
- 经典排序算法(一) —— Selection Sort 选择排序
经典排序算法(一) -- Selection Sort 选择排序 文章目录 经典排序算法(一) -- Selection Sort 选择排序 简介 排序过程 实现 复杂度 简介 选择排序是一种简单直观 ...
- 用选择排序法对数组中10个整数从大到小排序
选择排序法:在一组数据中,选出最小(大)的一个数,与第一个位置的数交换,在剩下数中找最小(大)的与第二个位置的数交换,以此类推. 使用一个函数实现: #include<stdio.h> v ...
- 经典算法之冒泡排序法与直接选择排序法
活动地址:21天学习挑战赛 文章目录 一.冒泡排序法 1.基本思想 2.算法步骤 3.代码实践 4.复杂度分析 二.直接选择排序法 1.基本思想 2.算法步骤 3.代码实践 4.复杂度分析 一.冒泡排 ...
- 排序算法——选择排序法(Select Sorting)
选择排序(Select Sorting) 基本介绍 选择排序也属于内部排序法,是从预排序的数据中,按指定的规则选出某一元素,再依规定交换位置后达到排序的目的 选择排序思想 选择排序(Selec ...
- 选择排序法——超详细的总结
之前在我的博文中详细介绍了冒泡排序,它的基本思想是:每次比较相邻两个数的大小,只要逆序(和题意要求的顺序相反),就交换两个数:这样交换的次数繁多!而选择排序法就避免了这个问题. 选择排序的基本思想: ...
- 面试官:你都工作3年了,连选择排序法都不会,我怎么能选择你
面试时,算法经常会遇到,特别是一些常见的算法. 张工毕业3年了,一直在一家创业公司做python开发,最近到某知名互联网公司面试,做了笔试题后,面试官看了觉得还不错,于是想进一步考察张工的编码能力,就 ...
最新文章
- 树莓派nginx无法安装mysql_树莓派上安装nginx
- 数据结构入门之链表(C语言实现)
- 用四张图说清楚Go程序调度的本质
- “要么你去驾驭生命,要么生命驾驭你。你的心态决定谁是坐骑,谁是骑师。”...
- mysql bit类型_Mysql:bit类型的查询与插入
- 为什么微信、Facebook都在做企业通信软件
- Stereoscopic Player 1.7.4 (SSP) 加载字幕
- javafx button按钮分组突出选中按钮(ToggleButton)
- SSM+校园网上订餐系统 毕业设计-附源码211510
- JavaScript中的replace替换
- 怎么关闭计算机管理窗口,桌面窗口管理器已停止工作并应关闭这应该怎么解决啊...
- 基于单片机的水库控制系统设计
- 董明珠和雷军的十亿赌约马上就要到了,谁会笑到最后?
- cwRsync 文件备份
- [AISTATS21]Towards Flexible Device Participation in Federated Learning阅读笔记
- Android界面美化的一点点积累
- 类,__dift__,__len__,__add__,__new__,__init__
- MTK Android Driver :Camera
- HihoCoder - 1272 买零食
- fan_in / fan_out 的理解