struct NNode
{
int data;
struct NNode* prev;
struct NNode* next;
};
typedef struct NNode* Link;
void DoubleInital();
void DoubllePush(INT);
INT DoublePop();
void DoubleFree();
Link mover;
INT baseIndex;
void DoubleInital()
{
mover = NULL;
baseIndex = 0;
}
void DoubllePush(INT item)
{
Link x = malloc(sizeof(*x));
x->data = item;
if (baseIndex == 0)
{
x->next = mover;
x->prev = mover;
mover = x;
baseIndex += 1;
return;
}
mover->next = x;
x->prev = mover;
x->next = NULL;
mover = x;
}
INT DoublePop()
{
if (!mover)
{
printf("stacks is empty!!!!");
return -1;
}
INT item = mover->data;
Link t = mover->prev;
free(mover);
mover = t;
return item;
}