public class RecursiveInsertionSort2_3_4
{
/**
* 使用递归方法进行插入排序
* @date 2015-6-13
* @author lemma
*/
//doSort方法
public void doSort(int Data[],int start,int end){
//递归终结条件
if(start==end){
return;
}
//实施递归
int temp=end-1;
doSort(Data, start, temp);
//实施排序操作
int tem=Data[end];
int index=end-1;
//搜索插入位置,并对已排序子序列移位
for(;index>=0&&Data[index]>tem;index--)
Data[index+1]=Data[index];
//插入元素
Data[index+1]=tem;
}
public static void main(String args[]){
int Data[]={48,62,4,56,48,21,14,68,35};
new RecursiveInsertionSort2_3_4().doSort(Data, 0, Data.length-1);
for(int d:Data){
System.out.print(d+" ");
}
}
}
使用Java完成《算法导论》习题2.3-4
最新推荐文章于 2023-05-28 16:19:19 发布