J'étudie un cours sur les structures de données et actuellement je suis coincé avec quelque chose dans les piles. Dans la mise en œuvre de la fonction StackTop
(ce qui en fait une copie ou « retours dans un sens » l'élément supérieur de la pile sans affecter la pile.) Le code ci-dessous est la mise en œuvre de celui-ci et il est clair,Quelle est la différence entre ces deux différentes implémentations de la fonction StackTop?
void StackTop(StackEntry *pe, Stack *ps){
*pe=ps->entry[ps->top-1];
}
mais tant que nous voulons donner à l'utilisateur la valeur de l'élément supérieur dans la pile ne pourrions-nous pas faire la fonction comme ceci? Et si oui, quelle est la différence entre ces deux implémentations?
StackEntry StackTop(Stack *ps){
return ps->entry[ps->top-1];
}
Gardez à l'esprit que StackEntry
est un type de données défini par l'utilisateur.