CoolFace
Apppublic

sanket3280/code-execution

sourceHugging Faceupdated 10mo agoView on Hugging Face
0likes
queue.js62 linesDownload Raw Back to wrappers
1module.exports = function queueWrapper({ sourceCode, language }) {2  let prefix = '';3  switch (language) {4    case 'JAVASCRIPT_NODE':5      prefix = `6// Queue helper (JS)7class __Queue{constructor(){this.a=[];this.h=0}enqueue(x){this.a.push(x)}dequeue(){return this.h<this.a.length?this.a[this.h++]:undefined}isEmpty(){return this.h>=this.a.length}size(){return this.a.length-this.h}peek(){return this.h<this.a.length?this.a[this.h]:undefined}}8`;9      break;10    case 'PYTHON3':11    case 'PYTHON3_8':12      prefix = `13# Queue helper (Python)14from collections import deque as __deque15class __Queue:16    def __init__(self):17        self.q = __deque()18    def enqueue(self, x):19        self.q.append(x)20    def dequeue(self):21        return self.q.popleft() if self.q else None22    def is_empty(self):23        return len(self.q) == 024    def size(self):25        return len(self.q)26    def peek(self):27        return self.q[0] if self.q else None28`;29      break;30    case 'JAVA':31      prefix = `32// Queue helper (Java)33class __Queue { java.util.ArrayDeque<Integer> q = new java.util.ArrayDeque<>(); void enqueue(int x){q.add(x);} int dequeue(){return q.remove();} boolean isEmpty(){return q.isEmpty();} int size(){return q.size();} Integer peek(){return q.peek();} }34`;35      break;36    case 'CPP14':37    case 'CPP':38      prefix = `39// Queue helper (C++)40struct __Queue { std::deque<int> q; void enqueue(int x){q.push_back(x);} int dequeue(){int v=q.front(); q.pop_front(); return v;} bool isEmpty(){return q.empty();} int size(){return (int)q.size();} int peek(){return q.front();} };41`;42      break;43    case 'C':44      prefix = `45/* Queue helper (C) - simple ring buffer */46typedef struct { int a[10005]; int h,t; } __Queue; void __queue_init(__Queue* q){q->h=q->t=0;} void __queue_enqueue(__Queue* q,int x){q->a[q->t++]=x;} int __queue_dequeue(__Queue* q){return q->a[q->h++];} int __queue_empty(__Queue* q){return q->h==q->t;} int __queue_size(__Queue* q){return q->t-q->h;} int __queue_peek(__Queue* q){return q->a[q->h];}47`;48      break;49    case 'CSHARP':50      prefix = `51// Queue helper (C#)52class __Queue { System.Collections.Generic.Queue<int> q = new System.Collections.Generic.Queue<int>(); public void Enqueue(int x)=>q.Enqueue(x); public int Dequeue()=>q.Dequeue(); public bool IsEmpty()=>q.Count==0; public int Size()=>q.Count; public int Peek()=>q.Peek(); }53`;54      break;55    default:56      return { sourceCode, usedRunner: false };57  }58  return { sourceCode: prefix + sourceCode, usedRunner: false };59};60 61 62