调整数组顺序使奇数位于偶数的前面
2015-05-31 21:43
239 查看
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在偶数的前面:
package Sort;
public class ReOderMain {
static int[] data = { 1, 2, 3, 4, 5, 6, 7 };
public static void ReOder(int[] data, int length) {
if (data == null || length == 0)
return;
int begin = 0;
int end = length - 1;
while (begin < end) {
while (begin < end && !isEven(data[begin])) {
begin++;
}
while (begin < end && isEven(data[end])) {
end--;
}
if (begin < end) {
int temp = data[begin];
data[begin] = data[end];
data[end] = temp;
}
}
}
static boolean isEven(int n) {
return (n & 1) == 0;
}
public static void main(String[] args) {
ReOder(data, 7);
for (int i = 0; i < 7; i++)
System.out.print(data[i] + " ");
}
}
运行结果为:
1 7 3 5 4 6 2
package Sort;
public class ReOderMain {
static int[] data = { 1, 2, 3, 4, 5, 6, 7 };
public static void ReOder(int[] data, int length) {
if (data == null || length == 0)
return;
int begin = 0;
int end = length - 1;
while (begin < end) {
while (begin < end && !isEven(data[begin])) {
begin++;
}
while (begin < end && isEven(data[end])) {
end--;
}
if (begin < end) {
int temp = data[begin];
data[begin] = data[end];
data[end] = temp;
}
}
}
static boolean isEven(int n) {
return (n & 1) == 0;
}
public static void main(String[] args) {
ReOder(data, 7);
for (int i = 0; i < 7; i++)
System.out.print(data[i] + " ");
}
}
运行结果为:
1 7 3 5 4 6 2
相关文章推荐
- java组播MulticastSocket
- 回调参数绑定,将局部变量变成回调的传参
- Jstl标签库代替 struts2 标签
- 一起talk C栗子吧(第六回:C语言实例--生成随机数)
- svn 总结(二)——冲突
- java组播MulticastSocket
- Gitlab7.0通知邮箱的配置(smtp)
- 构建之法——现代软件工程
- linux中md5sum命令的重要作用------顺便聊聊两次与之相关的经历
- hdu 5255 魔法因子 百度之星1004
- [BI项目记]-搭建代码管理环境之客户端
- 小小黑客之路(二)——两台电脑之间的对话
- 霍金:现实是某种最适合解释的思维模型
- 设计模式学习之观察者模式
- CodeForces 14C Four Segments
- 2015 ACM-ICPC 上海赛区邀请赛 解题报告 (Silver)
- JavaScript 标识符
- UNIX和Linux
- [BI项目记]-搭建代码管理环境之服务端
- Spring学习总结(2.3)-Spring MVC:handlermapping