s2 插入排序
Posted repinkply
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了s2 插入排序相关的知识,希望对你有一定的参考价值。
一:解题思路
Time:O(n^2),Space:O(1)
二:完整代码示例 (C++版和Java版)
C++:
template <typename T> static void Insert(T array[],int len,bool min2max=true) { if(len==0) return; for(int i=1;i<len;i++) { int k=i; T e=array[i]; for(int j=i-1;j>=0;j--) { if(min2max?(array[j]>e):(array[j]<e)) { k=j; array[j+1]=array[j]; } else { break; } } if(k!=i) { array[k]=e; } } }
Java:
public void Insert(int[] array) { if(array==null || array.length==0) return; int n=array.length; for(int i=1;i<n;i++) { int k=i; int e=array[i]; for(int j=i-1;j>=0;j--) { if(array[j]>e) { k=j; array[j+1]=array[j]; } else { break; } } if(k!=i) { array[k]=e; } } }
以上是关于s2 插入排序的主要内容,如果未能解决你的问题,请参考以下文章