排序算法变种
来源:互联网 发布:mac版搜狗五笔皮肤 编辑:程序博客网 时间:2024/06/04 22:11
编程题]调整数组顺序使奇数位于偶数前面
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
新开辟两个队列queue1和queue2,一次遍历数组queue1中存放奇数,queue2中存放偶数。在依次把队列中的值写回数组
import java.util.Deque;import java.util.LinkedList;public class Solution { public void reOrderArray(int [] array) { Deque<Integer> queue1=new LinkedList<Integer>(); Deque<Integer> queue2=new LinkedList<Integer>(); for (int i = 0; i < array.length; i++) {if(array[i]%2==1)queue1.addLast(array[i]);else {queue2.addLast(array[i]);}} int i=0; while (!queue1.isEmpty()) {array[i++]=queue1.pollFirst();} while (!queue2.isEmpty()) {array[i++]=queue2.pollFirst();} }}
其实就是排序算法的变种(结合一下位运算)
public class Solution { public void reOrderArray(int [] array) { for(int i = 0;i<array.length-1;i++){ for(int j =0;j<array.length-1;j++) { if(array[j] % 2 == 0) { if(array[j+1] % 2 != 0) { array[j]^=array[j+1]; array[j+1]^=array[j]; array[j]^=array[j+1]; } } } } }}
0 0
- 排序算法变种
- 快速排序及其变种算法
- 快速排序(变种)
- 洗牌算法变种
- 快速排序及其变种 Java
- 二分查找算法及其变种
- 二分查找算法及其变种
- 荷兰国旗问题--快速排序的变种
- PHP数据结构(2)冒泡排序及变种
- 桶排序的单链表实现及其变种
- 变种LZ77数据无损压缩算法
- hdoj 1686(kmp算法的变种)
- 3.18二分搜索算法各种变种
- 弗洛伊德变种算法计算最短路径
- 自编码器及相关变种算法简介
- 自编码器及相关变种算法简介
- 自编码器及相关变种算法简介
- 自编码器及相关变种算法简介
- android adb 接电话和挂电话命令
- HttpClient的几个超时时间
- lua语言简介
- Linux UVC driver 独立交叉编译记录
- Java的垃圾回收
- 排序算法变种
- Linux中mkdir介绍
- 在任务栏自定义快捷方式
- Listview之适配器(quickAdapter使用)
- java异常处理笔记—
- C++笔记(继承,多态,虚函数,模板函数,异常捕获)
- Ionic 相册(可放大缩小图片)
- 获取设备的ios版本号
- python脚本删除指定路径下指定类型的文件