剑指offer-13-调整数组使奇数位于前面
调整数组顺序使奇数位于偶数前面
http://www.nowcoder.com/questionTerminal/beb5aa231adc45b2a5dcc5b62c93f593
思路
- 稳定排序,奇数的权重小于偶数,奇数和偶数权重相同
- 开辟一个数组存储
面试的时候大概会让你写第一种的,笔试的时候写第二种,这里给出插入排序的代码
代码
开辟辅助数组
public class Solution {
public void reOrderArray(int [] array) {
int[] arr=new int[array.length];
int p=0,q=0;
for(int i=0;i<array.length;i++){
if(array[i]%2==1){
array[p]=array[i];
p++;
}else{
arr[q]=array[i];
q++;
}
}
for(int i=0;i<q;i++){
array[i+p]=arr[i];
}
}
}冒泡排序
public class Solution {
public void reOrderArray(int [] array) {
for(int i=0;i<array.length;i++){
for(int j=0;j<array.length-1;j++){
if(array[j]%2==0 && array[j+1]%2==1){
int temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
}
}剑指offer与数据结构 文章被收录于专栏
本专栏包括剑指offer题目和一些刷题用的数据结构,单调栈,树状数组,差分数组,后面还会更新红黑树等较为复杂的数据结构
查看12道真题和解析
