Given an integer list nums, move all 0's to the end of it while maintaining the relative order of the non-zero elements. Note that you must do this in-place without making a copy of the array.

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter18: Stacks And Queues
Section: Chapter Questions
Problem 16PE: The implementation of a queue in an array, as given in this chapter, uses the variable count to...
icon
Related questions
icon
Concept explainers
Question

Please help with the following in JAVA:

Question 1

Could you minimize the total number of operations done for the previous problem?

Previous Question > Given an integer list nums, move all 0's to the end of it while maintaining the relative order of the non-zero elements. Note that you must do this in-place without making a copy of the array.

Code

public static void main(String[] args) {
ArrayList<Integer> mylist = new ArrayList<Integer>();
Scanner sc = new Scanner(System.in);
System.out.println("Enter the list with last a add : ");

while (sc.hasNextInt()) {//TAKING INPUT UNTILL THE USER ENTERS ANY CHARACTER OTHER THAN INT
int i = sc.nextInt();
mylist.add(i);
}

int count=0;
for(int i=0;i<mylist.size();i++)
{
if(mylist.get(i)==0)
{
count++; //COUNTING NUMBER OF ZEROES
}
}
while(count!=0)
{
for(int i=0;i<mylist.size()-1;i++)
{
if(mylist.get(i)==0)
{
Collections.swap(mylist, i, i+1);
}
}
count--;
}


for(int i=0;i<mylist.size();i++)
{
System.out.print(mylist.get(i)+ " "); //PRINTING THE FINAL IN-PLACE LIST
}
}

Expert Solution
steps

Step by step

Solved in 2 steps with 2 images

Blurred answer
Knowledge Booster
Types of Linked List
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning