In questo modo però si oltrepassa il limite imposto dal fatto che lo stack sia una struttura LIFO, ovvero che l'ultimo elemento inserito sia il primo a dover essere estratto ed è anche l'unico che può essere estratto. Al penultimo non puoi accedere, quindi neppure al primo come nel tuo esempio, se non hai estratto prima tutti quelli "che erano sopra di lui"Originariamente inviato da Edgar89
scusa... forse sarò scemo io che non ho cenato ancora e la fame mi dà le allucinazioni ma praticamente tu da uno stack [0,1,2,3,4] devi ottenere [4,3,2,1,0]? se è così basta fare così:
ovviamente devi calcolare end a parte scorrendo l'array una voltacodice:void reverse(int* first, int* end){ if (first>=end) return; //scambia i due valori int tmp=0; tmp=*first; *first=*end; *end=tmp; first++; end--; reverse(first,end); }



Rispondi quotando