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

Popular posts from this blog

xslt - DocBook 5 to PDF transform failing with error: "fo:flow" is missing child elements. Required content model: marker* -

mediawiki - How do I insert tables inside infoboxes on Wikia pages? -

Local Service User Logged into Windows -