sorting - How to sort Integer Stream using queue? Lab JAVA -
sorting - How to sort Integer Stream using queue? Lab JAVA -
okay programme needs separate stream of integers using queue. output it's not in desired order firstly integers divisible 3 1%3 2%3 suggestions? here code:
import java.util.random; public class oct22 { public static void main(string[] arg) { int x; random rnd = new random(); queue<integer> queue = new arrayqueue<integer>(); queue<integer> queue2 = new arrayqueue<integer>(); //for(char c='a'; c<= 'z'; c++) // queue.add(c); for(int i=0;i<20;i++) queue2.add(rnd.nextint(100)); for(int i=0;i<queue2.size();i++) { x=queue2.remove(); if(x%3==0) queue.add(x); else queue2.add(x); } for(int i=0;i<queue2.size();i++) { x=queue2.remove(); if(x%3==1) queue.add(x); else queue2.add(x); } for(int i=0;i<queue2.size();i++) { x=queue2.remove(); if(x%3==2) queue.add(x); else queue.add(x); } system.out.println(queue.size()); system.out.println(queue2.size()); system.out.println("the size of queue is: " + queue.size()); while(!queue.isempty()) system.out.print(queue.remove()+ " "); system.out.println("\n---------------------------------"); while(!queue2.isempty()) system.out.print(queue2.remove()+" "); }
}
in each loop, alter :
for(int i=0;i<queue2.size();i++)
to :
int size = queue2.size(); for(int i=0;i<size;i++)
it necessary because size of queue2 keeps changing within loops, remove , add together items.
btw, lastly loop can replaced
queue.addall(queue2);
since @ point remaining numbers in queue2 should have remainder of 2.
full code :
int x; int size; random rnd = new random(); queue<integer> queue = new arraydeque<integer>(); queue<integer> queue2 = new arraydeque<integer>(); for(int i=0;i<20;i++) queue2.add(rnd.nextint(100)); size = queue2.size(); for(int i=0;i<size;i++) { x=queue2.remove(); if(x%3==0) queue.add(x); else queue2.add(x); } size = queue2.size(); for(int i=0;i<size;i++) { x=queue2.remove(); if(x%3==1) queue.add(x); else queue2.add(x); } size = queue2.size(); for(int i=0;i<size;i++) { x=queue2.remove(); if(x%3==2) queue.add(x); else queue.add(x); } system.out.println(queue.size()); system.out.println(queue2.size()); system.out.println("the size of queue is: " + queue.size()); while(!queue.isempty()) system.out.print(queue.remove()+ " "); system.out.println("\n---------------------------------"); while(!queue2.isempty()) system.out.print(queue2.remove()+" ");
java sorting integer queue modulo
Comments
Post a Comment