转载:
http://blog.chenlb.com/2008/12/select-sort-for-java.html
简单选择排序(Select Sort),java版。
版权信息: 可以任意转载, 转载时请务必以超链接形式标明文章原文出处, 即下面的声明.
原文出处:http://blog.chenlb.com/2008/12/select-sort-for-java.html
常用的简单排序方法中,除插入排序、冒泡排序,还有简单选择排序(有时候也直接说成是选排序)。
简单选择排序原理:从无序区域里选择最小(或最大)的添加到有序区里。一开始所有的数据都是在无序区里,排好一个,无序区个数就少一个。
时间复杂度:平均O(n2),最坏情况O(n2)。
示例代码:
- package com.chenlb.sort;
-
- import java.util.Arrays;
-
- public class SelectSort {
-
- public static int[] sort(int[] datas) {
- for(int i=0; i<datas.length-1; i++) {
- int minIndex = i;
- int min = datas[i];
- for(int j=i+1; j< datas.length; j++) {
- if(datas[j] < min) {
- minIndex = j;
- min = datas[j];
- }
- }
- if(minIndex != i) {
- SortUtil.swap(datas, i, minIndex);
- }
- }
- return datas;
- }
-
- public static void main(String[] args) {
- int[] datas = {5,1,3,4,9,2,7,6,5};
- sort(datas);
- System.out.println(Arrays.toString(datas));
-
- datas = SortUtil.randomDates(10);
- sort(datas);
- System.out.println(Arrays.toString(datas));
- }
-
- }
运行结果:
- [1, 2, 3, 4, 5, 5, 6, 7, 9]
- [67, 81, 122, 394, 452, 509, 533, 536, 608, 861]
分享到:
相关推荐
用java实现选择排序SelectSort 用java实现选择排序SelectSort 用java实现选择排序SelectSort
做了个Java Swing 图形界面,选择3中排序方法进行排序。工程用NetBeans 打开,运行Main.java文件或直接点击运行主程序,3种算法在源包中的sorts文件夹下,分别为: ...SelectSort.java(简单选择排序)
selectsort_cpp(选择排序).cpp
在B站讲选择排序的笔记,需要的同学可以免费下载
java写的八大经典排序算法(win7 jdk 1.6 下运行) 冒泡排序 BubbleSort 堆排序 HeapSort 插入排序 InsSort 快速排序 QuickSort 归并排序 MergeSort ...简单选择排序 SelectSort 希尔排序 ShellSort
常见的四种排序算法是:简单选择排序、冒泡排序、插入排序和快速排序。其中的快速排序的优势明显,一般使用递归方式实现,但遇到数据量大的情况则无法适用。实际工程中一般使用“非递归”方式实现。本文搜集发布四种...
选择法排序
选择排序(Selection sort)是一种不稳定的排序方法,每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。其主要应用于计算机和数学领域。它的...
c#实现选择排序算法select_sort算法
一个vc6.0对话框程序,按OK键做排序。上面的是没有排序的,下面是排过序的。
select.sort(arr); print(arr);//打印结果 //插入 Insert is=new Insert(); is.sort(arr); print(arr);//打印结果 //快速 Quick qs=new Quick(); qs.sort(0,arr.length-1,arr); print(arr);//...
case 4: SelectSort(R); break; //值为4,直接选择排序 case 5: HeapSort(R); break; //值为5,堆排序 case 6: MergeSort(R); break; //值为6,归并排序 case 7:ShellSort(R); break; //值为7,希尔排序 } ...
本文件包含选择排序的基本思路,代码实现,时间复杂度的分析。对数据结构与算法中选择排序算法的实现,附件以python语言实现。
void Select_Sort();//选择排序函数声明 void Bubble_Sort();//冒泡排序函数声明 void Merge(int left, int right);//合并数列为left-right数列 void Merge_Sort(int left,int right);//合并排序函数声明,2端点 ...
选择排序&插入排序 //选择排序 public void select_sort(int[] a) { int n = a.Length; int minIndex=0; int temp; for (int i = 0; i ; i++) { minIndex = i; for (int j = i; j ; j++) { if (a...
本文实例为大家分享了PHP简单选择排序的具体代码,供大家参考,具体内容如下 基本思想: 通过 n – i 次关键字间的比较,从 n – i + 1 个记录中选出关键字最小的记录,并和第 i (1 <...function SelectSort(array
//简单选择排序 void insert_sort(sqlist *l); //直插 void shell_sort(sqlist *l); //希尔排序 void quick_sort(sqlist *l, int low, int high); //快排 的封装 *****重要 int parttion(sqlist *l, int low, int ...
vue + elementui自定义按首字母排序下拉列表组件,可点击字母定位到对应选项,支持选中事件,可扩展
易语言选择排序演示源码,选择排序演示,select_sort