s1 选择排序
Posted repinkply
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了s1 选择排序相关的知识,希望对你有一定的参考价值。
一:解题思路
Time:O(n^2),Space:O(1)
二:完整代码示例 (C++版和Java版)
C++:
template <typename T> static void Swap(T& a,T& b) { T c(a); a=b; b=c; } template <typename T> static void Select(T array[],int len,bool min2max=true) { if(len==0) return; for(int i=0;i<len;i++) { int minIndex=i; for(int j=i+1;j<len;j++) { if(min2max?(array[j]<array[minIndex]):(array[j]>array[minIndex])) { minIndex=j; } } if(minIndex!=i) { Swap(array[i],array[minIndex]); } } }
Java:
private void Swap(int[] array,int i,int j) { int temp=array[i]; array[i]=array[j]; array[j]=temp; } public void Select(int[] array) { if(array==null || array.length==0) return; int n=array.length; for(int i=0;i<n;i++) { int minIndex=i; for(int j=i+1;j<n;j++) { if(array[j]<array[minIndex]) { minIndex=j; } } if(minIndex!=i) { Swap(array,minIndex,i); } } }
以上是关于s1 选择排序的主要内容,如果未能解决你的问题,请参考以下文章
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段