How it works
Insert an element at the front of a double-ended queue, shifting existing elements toward the tail.
Implementation
function dequePushFrontOp(state, value) { const values = state.values; let i = values.length; while (i > 0) { probeSlot(i); values[i] = values[i - 1]; i = i - 1; } values[0] = value; enqueueValue(0, value); finish(values.length); }
def dequePushFrontOp(state, value): values = state.values i = values.length while (i > 0): probeSlot(i) values[i] = values[(i - 1)] i = (i - 1) values[0] = value enqueueValue(0, value) finish(values.length)
#include <vector> #include <algorithm> void dequePushFrontOp(int state, int value) { auto values = state.values; auto i = values.length; while((i > 0)) { probeSlot(i); values[i] = values[(i - 1)]; i = (i - 1); } values[0] = value; enqueueValue(0, value); finish(values.length); }
public void dequePushFrontOp(int state, int value) { var values = state.values; var i = values.length; while((i > 0)) { probeSlot(i); values[i] = values[(i - 1)]; i = (i - 1); } values[0] = value; enqueueValue(0, value); finish(values.length); }
#include <stdio.h> void dequePushFrontOp(int state, int value) { var values = state.values; var i = values.length; while((i > 0)) { probeSlot(i); values[i] = values[(i - 1)]; i = (i - 1); } values[0] = value; enqueueValue(0, value); finish(values.length); }