struct Node *g_pstNodeHead = NULL;/* 此为全局变量 */
int func(struct Node *pstCurNode)
{
struct Node *pstNode = pstCurNode;
if (pstNode)
{
if (g_pstNodeHead == NULL)
{
pstNode->next = pstNode->prev = pstNode;
g_pstNodeHead = pstNode;
}
else
{
/* 注意,以下顺序不能颠倒 */
/* 建立顺序循环 */
g_pstNodeHead->prev->next = pstNode;
pstNode->next = g_pstNodeHead;
/* 建立逆序循环 */
pstNode->prev = g_pstNodeHead->prev;
g_pstNodeHead->prev = pstNode;
}
}
else
{
printf("NULL para \n");
}
return 0;
}
{
struct Node *pstNode = pstCurNode;
if (pstNode)
{
if (g_pstNodeHead == NULL)
{
pstNode->next = pstNode->prev = pstNode;
g_pstNodeHead = pstNode;
}
else
{
/* 注意,以下顺序不能颠倒 */
/* 建立顺序循环 */
g_pstNodeHead->prev->next = pstNode;
pstNode->next = g_pstNodeHead;
/* 建立逆序循环 */
pstNode->prev = g_pstNodeHead->prev;
g_pstNodeHead->prev = pstNode;
}
}
else
{
printf("NULL para \n");
}
return 0;
}