一·插入排序(将数组排序为非降序排列)。
基本思想:假如数组L[n]是一个组待排序数。在进行插入排序时把它分成两部分,L[0]开始为一部分,L[1]-L[n]为一部分。接下来,将L[1]与L[0]进行比对,如果L[1]>L[0],则将L[1]插入第一部分,并且排在L[0]后面,否则将L[1]与L[0]前面元素比较,直到有元素比L[1]小,则插入该比L[1]小的元素后面。以此类推,直到排序完这n+1个数。
程序: public int[] SortIn(int[] s){
int len=s.length;
for (int i = 1; i < len; i++) {
int temp=s[i];
int j=i;
while (temp<s[j-1]){
s[j]=s[j-1];
j--;
if(j<=0)break;
}
s[j]=temp;
}
return s;
}
测试:
public static void main(String[] args) {
Sort sort= new Sort();
int s[]={6,5,4,3,2};
int ss[]= sort.SortIn(s);
for (int i = 0; i < ss.length; i++) {
System.out.println(ss[i]);
}
}
结果: