Move all negative elements to end in python
Python program for Move all negative elements to end. Here mentioned other language solution.
# Python 3 program for
# Move all negative elements at the end of array
# Display list elements
def display( arr, n) :
i = 0
while (i < n) :
print(arr[i], end =" ")
i += 1
print()
# Swap the given list elements
def swap( arr, start, end) :
temp = arr[start]
arr[start] = arr[end]
arr[end] = temp
# Method which is move negative elements
def moveNegative( arr, n) :
# first index
i = 0
# last index
j = n - 1
while (i < j) :
if (arr[i] < 0 and arr[j] >= 0) :
# When [i] index are have negative value
# And [j] is positive then swapping elements values
swap(arr, i, j)
# Modified index
i += 1
j -= 1
elif (arr[i] >= 0) :
# When element of [i] is not negative
i += 1
else :
j -= 1
def main() :
# Array which are containing positive and negative values
arr = [1, -1, 3, 2, -7, -5, 11, 6]
n = len(arr)
print("Before Arrange : ")
# Before move element
display(arr, n)
# Move negative elements
moveNegative(arr, n)
# After arrange
print("After Arrange : ")
# After move element
display(arr, n)
if __name__=="__main__":
main()
Output
Before Arrange :
1 -1 3 2 -7 -5 11 6
After Arrange :
1 6 3 2 11 -5 -7 -1
Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.
New Comment