typedef int DItemType;
typedef struct SDoubleList
{
DItemType iValue;
SDoubleList *prev;
SDoubleList *next;
} DLinkedList,*pDLinkedList;
/* 创建双链表 */
DLinkedList *InitDoubleList()
{
DLinkedList *doublelist = (DLinkedList*)malloc(sizeof(DLinkedList));
if (NULL == doublelist)
exit(1);
doublelist->prev = NULL;
doublelist->next = NULL;
return doublelist;
}
/* 双链表实现队列入队 */
bool DLinkedList_Push(DLinkedList* DL, DItemType value)
{
if (NULL==DL)
{
puts("队列不存在,无法插入!\n");
return false;
}
DLinkedList *temp = (DLinkedList *)malloc(sizeof(DLinkedList));
if (NULL == temp) {
puts("插入失败!");
return false;
}
temp->iValue = value;
temp->next = NULL;
temp->prev = NULL;
DLinkedList *ttemp = DL;
while (NULL != ttemp->next)
{
ttemp = ttemp->next;
}
ttemp->next = temp;
temp->