13____调整数组的顺序使得奇数位于偶数前
题目描述:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
public class Solution { //采用冒泡排序的思想进行交换 public void reOrderArray(int [] array) { for(int i=0;i<array.length;i++){ for(int j=0;j<array.length-1-i;j++){ if(array[j]%2==0&&array[j+1]%2==1){ int t=array[j]; array[j]=array[j+1]; array[j+1]=t; } } } } }
冒泡排序:
public static int[] bubbleSort(int[] a){ for(int i=0;i<a.length;i++){ Boolean flag=false; //记录此趟循环是否发生交换 for(int j=0;j<a.length-1-i;j++){ if(a[j]>a[j+1]){ int t=a[j]; a[j]=a[j+1]; a[j+1]=t; flag=true; } } if(!flag){ //没有发生交换时,说明数组已经有序 跳出循环 break; } } return a; }