Une file <-> Premier rentré dernier sorti
typedef struct Pile
{
Element * pFirst;
Element * pCurrent;
}STACK, *LPSTACK;
void Push( LPSTACK lps, Element * e)
{
if ( lps->pFirst == NULL )
{
lps->pFirst = e;
lps->pCurrent = e;
}
else
{
Element * pTmp = lps->pCurrent;
lps->pCurrent = e;
lps->pCurrent->pPrev = pTmp;
}
}
void Pop(LPSTACK lps)
{
if (lps->pCurrent == lps->pFirst)
{
lps->pFirst = NULL;
lps->pCurrent = NULL;
}
else
{
lps->pCurrent = lps->pCurrent->pPrev;
}
Continuer le reste :)
#include