排序算法:选择排序
【摘要】 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。
平均时间复杂度:O(n2)
空间复杂度:O(1) (用于交换和记录索引)
package cn.hncu;
import java.sql.Timestamp;
publ...
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。
平均时间复杂度:O(n2)
空间复杂度:O(1) (用于交换和记录索引)
package cn.hncu;
import java.sql.Timestamp;
public class selectSort { public static void main(String[] args) { int[] a = new int[10000]; for(int i=0;i<a.length;i++){ a[i] = (int)(Math.random()*a.length); } long startTime = System.currentTimeMillis();//返回以毫秒为单位的当前时间。 //1 选择排序 selectSort1(a); print(a); long endTime = System.currentTimeMillis();//返回以毫秒为单位的当前时间。 System.out.println("程序运行时间: "+(endTime-startTime)+"ms"); } private static void selectSort1(int[] a) { for(int i=0;i<a.length-1;i++){ int k=i; for(int j=i;j<a.length;j++){ if(a[k]>a[j]){ k=j;//找到最小的值为a[k] } } if(a[k]!=a[i]){//位运算交换值 a[k]=a[k]^a[i]; a[i]=a[k]^a[i]; a[k]=a[k]^a[i]; } } } private static void print(int[] a) { for(int i=0;i<a.length;i++){ System.out.print(a[i]+" "); } System.out.println(); }
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
文章来源: chenhx.blog.csdn.net,作者:谙忆,版权归原作者所有,如需转载,请联系作者。
原文链接:chenhx.blog.csdn.net/article/details/50811513
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)