实现一个函数来调整该数组中数字的顺序实例
2015-08-16 19:07
316 查看
//输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 public class Test { public static void main(String args[]) { int[] a = new int[7]; for (int i = 0; i < a.length; i++) { a[i] = i + 1; } order(a); for (int i = 0; i < a.length; i++) { System.out.print(a[i]); } } public static void order(int[] array) { //另外构造一个数组 int[] orderArray = new int[array.length]; //用来存放新组数的下标 int num = 0; //取出所有的奇数,只取没查过的下标,因此要-num for(int i = 0;i < array.length - num;) { //如果为奇数 if(array[i] % 2 != 0) { //放到新组数 int temp = array[i]; orderArray[num ++] = temp; //移动原数组再次并循环,注意此时i并未自增 for(int j = i;j < array.length - num;j ++) { array[j] = array[j + 1]; } } //若不是奇数则下一个 else { i ++; } } //新数组添加原数组剩下的偶数 for(int i = 0;i <= array.length;i ++) { if(num <= array.length - 1) { orderArray[num ++] = array[i]; } else { break; } } //将新数组赋值给原数组 for (int i = 0; i < orderArray.length; i++) { array[i] = orderArray[i]; } } }
相关文章推荐
- POJ 2195 D - Going Home 费用流
- Python 发送邮件
- android application context 小结
- 【php】基于Redis的js、css缓存类
- Python对xml的操作
- android Service
- 第2周工作周报-2组-王亮晶
- Mac OS X安装redis-php扩展
- Oracle PGA
- EasyRTSPClient:基于live555封装的支持重连的RTSP客户端RTSPClient
- HDOJ 1258 确定比赛名次 (拓扑排序)
- IOS项目上架时问题的解决方案(3)
- Linux Kernel Parameter config for Oracle
- oracle SGA
- EasyRTSPClient:基于live555封装的支持重连的RTSP客户端RTSPClient
- HDU 5071 Chat (神一般的模拟题)
- ios: push viewcontroller 时出现Presenting view controllers on detached view controllers is discouraged 警告
- 算法导论——(2)二叉查找树的实现
- Shredding Company (hdu 1539 dfs)
- 第一次百度实习生电面