Hier ist ein persönliches Beispiel, ich bin sicher, dass es mehr optimiert werden könnte, aber es ermöglicht Warteschlange dequeue und Peek-Funktionalität in JS.
function processData(input) {
let stackOne = [];
let stackTwo = [];
let parsableInput = input.split('\n');
for(let i = 1; i < parsableInput.length; i++) {
// handle 1 push
if (parsableInput[i][0] === '1') {
enqueue(stackOne, stackTwo, parsableInput[i].slice(2));
}
// handle 2
if (parsableInput[i] === '2') {
dequeue(stackTwo);
}
// handle 3
if (parsableInput[i] === '3') {
console.log(peek(stackTwo));
}
}
}
function enqueue(stackOne, stackTwo, queuedValue) {
while(stackTwo.length !== 0) {
stackOne.push(stackTwo.pop());
}
stackOne.push(queuedValue);
while(stackOne.length !== 0) {
stackTwo.push(stackOne.pop());
}
}
function dequeue(stackTwo) {
return stackTwo.pop();
}
function peek(stackTwo) {
let stringToBeParsed = stackTwo[stackTwo.length - 1];
let parsedString = stringToBeParsed.slice(0, stringToBeParsed.length);
if (parsedString) {
return parsedString;
} else {
console.log('Error: there is nothing to peek at!');
}
}
Anstatt jemanden zu bitten, Ihnen eine Lösung zu bieten, beschreiben Sie, was Sie bereits versucht haben und die Ergebnisse einer Untersuchung. – user861594
ich weiß, wie man es in der c-Sprache di .. ich sah viele Beispiele, indem ich auf Google suche ... aber weiß nicht, wie man das in php macht .... deshalb fragte ich Mann –