Java合并数组的两个子有序段
2016-06-16 20:08
417 查看
</pre><pre>
//合并数组的两个子有序段
public class FindRightPlaceMid {
public static void findRightPlaceMid(int a[],int mid){
int temp,i=0,j=mid,k;
while(i<j){
//先判断j是否小于a.length,再判断a[i]>a[j],否则会有数组越界异常
//&&判断,若左半部分为flase,则不再判断右半部分了
if(j<a.length&&a[i]>a[j]){
temp = a[j];
for(k=j;k>i;k--){
a[k] = a[k-1];
}
a[i] = temp;
i++;
j++;
}else{
i++;
}
}
}
public static void main(String[] args){
int[] a={8,10,13,14,1,2,3,4,5,6,7};
prientutils.printArray(a);
findRightPlaceMid(a,4);
prientutils.printArray(a);
}
}
引申:
(1)如果数组的两个子有序序列都按将序排列,可以用类似的方法来解决
(2)若两个子序列一个升序一个将序,可将其中一个逆序,再用上述方法
相关文章推荐
- javaweb—SpringMVC+Spring+MyBatis整合
- Java正则表达式
- 深入浅出 Java Concurrency (1) : J.U.C的整体认识
- MyBatis-spring和spring JDBC批量插入Mysql的效率比较
- Spring@Autowired注解与自动装配
- Java反射机制
- Java Web项目--显示一个静态页面
- spring data jpa分页查询
- Java 动态代理与反射机制
- My Java Coding Style
- Java(六) final用法实例讲解
- Java反射(二)----- 动态加载类
- Java自定义注解——简易实现spring @Autowired
- JDBC:java.sql.SQLException: Before start of result set怎么办
- 用java实现文件的复制功能
- Jps介绍以及解决jps无法查看某个已经启动的java进程问题【盗用】
- Struts(S2-037)远程代码执行
- springMVC运行流程
- Java基础-设计模式-单例模式2
- win7下JAVA环境变量配置方法