First, the topic
Enter an array of integers to implement a function that adjusts the order of the numbers in the array so that all the odd digits are placed in the first half of the array, all the even digits are located in the second half of the array, and the relative positions between the odd and odd, even and even, are guaranteed.
Second, the idea
This problem can be answered with an algorithm similar to bubble sorting. Iterate through the array, when the next two numbers, the preceding number is even, the subsequent number is odd, exchange two numbers. The first round is traversed, an even number of the last faces of the array is lined up, followed by the second round of the third round, until all the even numbers are ranked behind the odd number.
Third, the Code
Public classSolution { Public voidReorderarray (int[] Array) { inttemp = 0; for(inti = 0; i < array.length-1; i++) { for(intj = 0; J < Array.length-1-i; J + +) { if((Array[j]% 2 = = 0) && (array[j + 1]% 2)! = 0) {//the former even after odd is exchangedtemp =Array[j]; ARRAY[J]= Array[j + 1]; Array[j+ 1] =temp; } } } }}
View Code
-------------------------------------------------------------------------------------------------------------
Reference Link: https://www.nowcoder.com/profile/369342/codeBookDetail?submissionId=1523408
Sword refers to offer 13 adjustment array order so that the odd digits are in front of even numbers