Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static DLL<Integer> vojska(DLL<Integer> lista, int a, int b, int c, int d) {
- DLL<Integer> tmp = lista;
- int i = 0;
- while(tmp.length() > 0) {
- if(tmp.getFirst().element == a) {
- a = i;
- }
- else if(tmp.getFirst().element == b) {
- b = i;
- }
- else if(tmp.getFirst().element == c) {
- c = i;
- }
- else if(tmp.getFirst().element == d) {
- d = i;
- }
- ++i;
- tmp.deleteFirst();
- }
- tmp = lista;
- DLL<Integer> left = null, right = null, middle = null;
- i = 0;
- while(tmp.length() > 0) {
- if(i >= a && i <= b) {
- left.insertLast(tmp.getFirst().element);
- }
- else if(i >= c && i <= d) {
- right.insertLast(tmp.getFirst().element);
- }
- else {
- middle.insertLast(tmp.getFirst().element);
- }
- i++;
- }
- tmp = lista;
- lista = null;
- i = 0;
- while(tmp.length() > 0) {
- if(i >= a && i <= b) {
- lista.insertLast(right.getFirst().element);
- right.deleteFirst();
- }
- else if(i >= c && i <= d) {
- lista.insertLast(left.getFirst().element);
- left.deleteFirst();
- }
- else {
- lista.insertLast(middle.getFirst().element);
- middle.deleteFirst();
- }
- tmp.deleteFirst();
- ++i;
- }
- return lista;
- }
Advertisement
Add Comment
Please, Sign In to add comment