Articles of stack di

Campi di class, sono memorizzati nello stack o heap?

Ho visto una domanda ieri che ha sollevato (per me) un’altra domanda. Si prega di guardare il seguente codice: public class Class1 { int A; //as I uderstand, int is value type and therefore lives in the stack } class Class2 { Run() { Class1 instance1 = new Class1(); instance1.A = 10; //it points to […]

Implementare lo stack utilizzando due code

Una domanda simile è stata posta prima, ma la domanda qui è il contrario, usando due code come una pila. La domanda… Dato due code con le loro operazioni standard ( enqueue , isempty , isempty , size ), implementa uno stack con le sue operazioni standard ( pop , push , isempty , size […]

I riferimenti di questi oggetti sono sullo stack o sull’heap?

Apprezzerei molto se qualcuno potesse dirmi se lo capisco bene: class X { A a1=new A(); // reference on the stack, object value on the heap a1.VarA=5; // on the stack – value type A a2=a1; // reference on the stack, object value on the heap a2.VarA=10; // on the stack – value type } […]

Qual è la differenza tra un errore di segmentazione e uno stack overflow?

Ad esempio quando chiamiamo dire, una funzione ricorsiva, le chiamate successive vengono memorizzate nello stack. Tuttavia, a causa di un errore se continua all’infinito, l’errore è ‘Segmentation fault’ (come visto su GCC). Non dovrebbe essere stato “stack-overflow”? Qual è allora la differenza fondamentale tra i due? A proposito, una spiegazione sarebbe più utile dei collegamenti […]

Come valutare un’espressione infissa in una sola scansione usando gli stack?

Voglio sapere se c’è un modo per risolvere le espressioni infix in un singolo passaggio usando 2 stack? Le pile possono essere una per operatore e l’altra per operandi … Il metodo standard per risolvere l’algoritmo shunt-yard è convertire l’espressione infissa in postfix (reverse polish) e quindi risolvere. Non voglio convertire l’espressione prima in suffisso. […]

Qual è la dimensione dello stack predefinita, può crescere, come funziona con la garbage collection?

Capisco che ogni thread ha il suo stack . I tipi primitivi e i riferimenti sono tenuti in pila e nessun object viene tenuto in pila. Le mie domande sono: Quanto può crescere una pila? (come con i paramters – Xms e – Xmx ) Possiamo limitare la sua crescita? Lo stack ha un valore […]

In C, le parentesi graffe fungono da cornice dello stack?

Se creo una variabile all’interno di una nuova serie di parentesi graffe, la variabile è saltata fuori dallo stack sulla parentesi di chiusura o rimane bloccata fino alla fine della funzione? Per esempio: void foo() { int c[100]; { int d[200]; } //code that takes a while return; } d occuperà memoria durante il code […]

Creazione di oggetti nello stack / heap?

Il codice seguente crea un object nello stack: Object o; Quando creiamo un object sull’heap possiamo usare: Object* o; o = new Object(); piuttosto che: Object* o = new Object(); Quando dividiamo la creazione dell’object heap su due righe e chiamiamo il costruttore sulla seconda riga ( o = new object() ), questo significa nella […]

I thread hanno un heap distinto?

Per quanto ne so, ogni thread ottiene uno stack distinto quando il thread viene creato dal sistema operativo. Mi chiedo se ogni thread ha un heap distinto anche da solo?

progettare una pila in modo che getMinimum () sia O (1)

Questa è una delle domande dell’intervista. È necessario progettare uno stack che contiene un valore intero tale che la funzione getMinimum () restituisca l’elemento minimo nello stack. Ad esempio: considera l’esempio di seguito caso 1 5 -> TOP 1 4 6 2 Quando viene chiamato getMinimum () dovrebbe restituire 1, che è l’elemento minimo nello […]