Esempio n. 1
0
 public static void main(String[] args) {
   Deque<Integer> di = new Deque<Integer>();
   fillTest(di);
   print(di);
   while (di.size() != 0) printnb(di.removeFirst() + " ");
   print();
   fillTest(di);
   while (di.size() != 0) printnb(di.removeLast() + " ");
 }
Esempio n. 2
0
  public void run() {
    Deque<VisitingContext> stack = new ArrayDeque<>();

    stack.add(new VisitingContext(rootNode));
    boolean goOn = stack.peek().hasNext();

    if (goOn) {
      do {
        Map.Entry<String, JsonValue> current = stack.peek().nextElement();

        if (!(current.getValue() instanceof JsonStructure)) {
          String key = stack.peek().getNSPrefix() + current.getKey();
          String value = null;
          JsonValue jsonValue = current.getValue();
          switch (jsonValue.getValueType()) {
            case NULL:
              value = null;
              break;
            case FALSE:
              value = Boolean.FALSE.toString();
              break;
            case TRUE:
              Boolean.TRUE.toString();
              break;
            case NUMBER:
              value = jsonValue.toString();
              break;
            case STRING:
              value = ((JsonString) jsonValue).getString();
              break;
            default:
              throw new ConfigException("Internal failure while processing JSON document.");
          }

          targetStore.put(key, value);
        } else if (current.getValue() instanceof JsonObject) {
          String key = stack.peek().getNSPrefix() + current.getKey();
          JsonObject node = (JsonObject) current.getValue();
          stack.push(new VisitingContext(node, key));
        } else if (current.getValue() instanceof JsonArray) {
          throw new ConfigException("Arrays are not supported at the moment.");
        } else {
          throw new ConfigException("Internal failure while processing JSON document.");
        }

        goOn = stack.peek().hasNext();

        while (!goOn && stack.size() > 0) {
          stack.remove();
          goOn = (stack.size() > 0) && stack.peek().hasNext();
        }
      } while (goOn);
    }
  }
Esempio n. 3
0
  public static void main(String[] args) {
    Deque<Integer> ints = new Deque<Integer>();

    assert ints.size() == 0;
    assert ints.isEmpty();

    ints.addFirst(1);
    assert ints.size() == 1;
    assert !ints.isEmpty();

    int val = ints.removeFirst();
    assert val == 1;
    assert ints.size() == 0;
    assert ints.isEmpty();

    ints.addFirst(2);
    assert ints.size() == 1;
    assert !ints.isEmpty();

    val = ints.removeLast();
    assert val == 2;
    assert ints.size() == 0;
    assert ints.isEmpty();

    ints.addFirst(3);
    ints.addFirst(2);
    ints.addFirst(1);
    ints.addLast(4);
    ints.addLast(5);
    ints.addLast(6);

    assert ints.size() == 6;
    assert !ints.isEmpty();

    for (int value : ints) {
      StdOut.print(value + " ");
    }

    StdOut.println();

    while (!ints.isEmpty()) {
      StdOut.println(ints.removeLast());
    }

    assert ints.size() == 0;
    assert ints.isEmpty();

    for (int i = 0; i < 10; ++i) {
      ints.addFirst(i);
    }

    for (int i = 0; i < 10; ++i) {
      assert ints.size() == 10 - i;
      ints.removeLast();
    }

    assert ints.size() == 0;
  }
Esempio n. 4
0
 @Test
 public void testSize() {
   assertEquals(0, deque.size());
   deque.addFront(3);
   assertEquals(1, deque.size());
   deque.addFront(7);
   assertEquals(2, deque.size());
   deque.removeFront();
   assertEquals(1, deque.size());
   deque.removeFront();
   assertEquals(0, deque.size());
 }
Esempio n. 5
0
 @Test
 public void testRemove() {
   Deque<String> deque = new Deque<String>();
   deque.addFirst(new String("test"));
   deque.addFirst(new String("test first"));
   deque.addLast(new String("test last"));
   deque.removeLast();
   deque.removeFirst();
   assertTrue(deque.size() == 1);
   deque.removeLast();
   assertTrue(deque.size() == 0);
 }
 @Test
 public void Deque_addLast_removeLast_AddsRemovesTwo() {
   deque.addLast("firstString");
   deque.addLast("secondString");
   assertFalse(deque.isEmpty());
   assertEquals(deque.size(), 2);
   String returnedString = deque.removeLast();
   assertEquals(returnedString, "secondString");
   assertFalse(deque.isEmpty());
   assertEquals(deque.size(), 1);
   returnedString = deque.removeLast();
   assertEquals(returnedString, "firstString");
   assertTrue(deque.isEmpty());
   assertEquals(deque.size(), 0);
 }
 @Test
 public void Deque_addLast_AddsTwo() {
   deque.addLast("firstString");
   deque.addLast("secondString");
   assertFalse(deque.isEmpty());
   assertEquals(deque.size(), 2);
 }
Esempio n. 8
0
 @Test
 public void testAddition() {
   Deque<String> deque = new Deque<String>();
   deque.addFirst(new String("test"));
   assertFalse(deque.isEmpty());
   deque.addFirst(new String("test first"));
   deque.addLast(new String("test last"));
   assertEquals(deque.size(), 3);
 }
Esempio n. 9
0
 void playPrevious() {
   if (playStack.size() < 2) return;
   System.out.println("------------");
   for (PlaylistAndTrack pnt : playStack) {
     System.out.println(pnt.track.getTitle());
   }
   playStack.removeFirst();
   PlaylistAndTrack prevPlaylistAndTrack = playStack.removeFirst();
   playlistsView.getSelectionModel().select(prevPlaylistAndTrack.playlist);
   tracksView.getSelectionModel().select(prevPlaylistAndTrack.track);
   tracksView.scrollTo(tracksView.getSelectionModel().getSelectedIndex());
   playTrack(prevPlaylistAndTrack.track);
 }
Esempio n. 10
0
  private List<List<Integer>> help1(TreeNode root) {
    List<List<Integer>> res = new ArrayList<List<Integer>>();
    if (root == null) {
      return res;
    }

    Deque<TreeNode> current = new LinkedList<>();
    Deque<TreeNode> next = new LinkedList<>();
    boolean isOdd = true;
    current.add(root);

    while (!current.isEmpty()) {
      int size = current.size();
      List<Integer> level = new LinkedList<Integer>();
      if (isOdd) {
        for (int i = 0; i < size; i++) {
          TreeNode top = current.removeFirst();
          level.add(top.val);

          if (top.left != null) {
            next.addLast(top.left);
          }

          if (top.right != null) {
            next.addLast(top.right);
          }
        }
      } else {
        for (int i = 0; i < size; i++) {
          TreeNode top = current.removeLast();
          level.add(top.val);

          if (top.right != null) {
            next.addFirst(top.right);
          }

          if (top.left != null) {
            next.addFirst(top.left);
          }
        }
      }
      isOdd = !isOdd;
      current = next;
      res.add(level);
    }

    return res;
  }
  /**
   * Emulates throwing an exception from method call. Should be inserted into all places where
   * method or closure is called, because it can throw something unexpectedly
   */
  private void visitCall(GroovyPsiElement call) {
    // optimization: don't add call instruction if there is no catch or finally block in the context
    if (myCaughtExceptionInfos.size() <= 0 && myFinallyCount <= 0) {
      return;
    }
    final InstructionImpl instruction = new ThrowingInstruction(call);
    addNodeAndCheckPending(instruction);

    for (ExceptionInfo info : myCaughtExceptionInfos) {
      info.myThrowers.add(instruction);
    }

    if (myFinallyCount > 0) {
      addPendingEdge(null, instruction);
    }
  }
 @NotNull
 private Set<VirtualFile> pollFilesToResolve() {
   Set<VirtualFile> set;
   synchronized (filesToResolve) {
     int queuedSize = filesToResolve.size();
     set = new LinkedHashSet<VirtualFile>(queuedSize);
     // someone might have cleared this bit to mark file as processed
     for (VirtualFile file : filesToResolve) {
       if (fileIsInQueue.clear(getAbsId(file))) {
         set.add(file);
       }
     }
     filesToResolve.clear();
   }
   return countAndMarkUnresolved(set, false);
 }
Esempio n. 13
0
  @Test
  public void test10() {

    deque = new Deque<String>();

    deque.addFirst("1");
    deque.addFirst("2");
    deque.addFirst("3");
    deque.addFirst("4");
    assertEquals(deque.removeLast(), "1");
    assertEquals(deque.removeFirst(), "4");
    deque.addLast("7");
    assertEquals(deque.removeLast(), "7");
    assertEquals(deque.removeLast(), "2");
    assertEquals(deque.removeLast(), "3");
    assertEquals(deque.size(), 0);
  }
Esempio n. 14
0
  public static QuantileDigest deserialize(DataInput input) {
    try {
      double maxError = input.readDouble();
      double alpha = input.readDouble();

      QuantileDigest result = new QuantileDigest(maxError, alpha);

      result.landmarkInSeconds = input.readLong();
      result.min = input.readLong();
      result.max = input.readLong();
      result.totalNodeCount = input.readInt();

      Deque<Node> stack = new ArrayDeque<>();
      for (int i = 0; i < result.totalNodeCount; i++) {
        int flags = input.readByte();

        Node node = deserializeNode(input);

        if ((flags & Flags.HAS_RIGHT) != 0) {
          node.right = stack.pop();
        }

        if ((flags & Flags.HAS_LEFT) != 0) {
          node.left = stack.pop();
        }

        stack.push(node);
        result.weightedCount += node.weightedCount;
        if (node.weightedCount >= ZERO_WEIGHT_THRESHOLD) {
          result.nonZeroNodeCount++;
        }
      }

      if (!stack.isEmpty()) {
        Preconditions.checkArgument(
            stack.size() == 1, "Tree is corrupted. Expected a single root node");
        result.root = stack.pop();
      }

      return result;
    } catch (IOException e) {
      throw Throwables.propagate(e);
    }
  }
Esempio n. 15
0
  public static void main(String[] args) {
    Deque<String> Ds = new LinkedDeque<String>();
    Ds.pushLeft("Hello");
    Ds.pushRight("KevinRight");
    Ds.pushLeft("KevinLeft");
    System.out.println("Three Pushes - " + Ds.toString());
    Ds.popLeft();
    System.out.println("Popped Left - " + Ds.toString());
    Ds.pushRight("188");
    System.out.println("Push Right - " + Ds.toString());
    Ds.popRight();
    System.out.println("Pop Right - " + Ds.toString());
    System.out.println(Ds.toString());
    Ds.pushRight("KevinRight2");
    System.out.println(Ds.toString() + " Stack Size: " + Ds.size());
    Ds.popLeft();
    Ds.popLeft();
    System.out.println("Popping until empty: " + Ds.toString());
    // Ds.popRight();  // Uncomment for error messages.

  }
 public List<List<Integer>> levelOrder(TreeNode root) {
   List<List<Integer>> ret = new ArrayList<>();
   if (root != null) {
     Deque<TreeNode> queue = new ArrayDeque<>();
     queue.offer(root);
     while (!queue.isEmpty()) {
       List<Integer> row = new ArrayList<>();
       int levelcount = queue.size();
       for (int i = 0; i < levelcount; i++) {
         TreeNode tn = queue.poll();
         if (tn.left != null) {
           queue.offer(tn.left);
         }
         if (tn.right != null) {
           queue.offer(tn.right);
         }
         row.add(tn.val);
       }
       ret.add(row);
     }
   }
   return ret;
 }
Esempio n. 17
0
 @Test
 public void Deque_size_returns0() {
   assertEquals(deque.size(), 0);
 }
 public int getSegmentCount() {
   return segments.size();
 }
Esempio n. 19
0
 // {{{ trimToLimit() method
 private static void trimToLimit(Deque<Entry> list) {
   int max = jEdit.getIntegerProperty("recentFiles", 50);
   while (list.size() > max) list.removeLast();
 } // }}}
Esempio n. 20
0
 @Test
 public void Deque_addLast_AddsOne() {
   deque.addLast("firstString");
   assertFalse(deque.isEmpty());
   assertEquals(deque.size(), 1);
 }
Esempio n. 21
0
 void pushToPlayStack(Playlist p, Track t) {
   if (playStack.size() > 10000) {
     playStack.removeLast();
   }
   playStack.push(new PlaylistAndTrack(p, t));
 }
 @Override
 public int getQueueSize() {
   synchronized (filesToResolve) {
     return filesToResolve.size();
   }
 }
Esempio n. 23
0
 @Test
 public void testEmpty() {
   assertEquals(deque.size(), 0);
 }