I’ve been trying to work this out:
Say I have an array:
int[] n = {0, 0, -1, 1, 0, 1, 1, -1, 1};
I need to be able to sort through the array and if there is a zero with a non zero preceding it, then they should be swapped.
For example: 0, 0, -1, 1, 0, 1, 1, -1, 1
will become: 0, 0, -1, 0, 1, 1, 1, -1, 1
I have been trying to do it using a for loop and if statements with no luck. Any tips?
Try this:
You were right in thinking that you would need a
forloop with anifstatement in its body. All we’re doing here is looping through the array starting at element 1. We then check if the element we’re currently on is0and the previous element is not0: i.e.if (n[i] == 0 && n[i - 1] != 0). If this condition is true, we swap these two elements.