Non c'è un modo "giusto" a prescindere.
Il metodo più conveniente dipende dal tipo di struttura dati che ci sta sotto: se usi una lista linkata conviene aggiungere e togliere elementi all'inizio (in modo da non doverla scorrere tutte le volte), oppure è indifferente se ti tieni pronto un puntatore all'ultimo elemento (cosa che sarà utile nel caso della queue); se invece usi un array (per la pila) ovviamente conviene aggiungere e togliere in fondo, dato che aggiungere elementi all'inizio vuol dire spostare tutto avanti di un posto ogni volta.