return 0;
}
/*****************************************
函数功能:清空整个链表
函数入参:pstInHead 链表的头结点
返回值: 0 成功
1 失败
******************************************/
int clearList(NODE* pstInHead)
{
if (NULL == pstInHead)
{
printf("clearList: the parameter pstInHead is NULL");
return 1;
}
int nListLen = getListLength(pstInHead);
/**暂存链表的头结点*/
NODE* pstTempHead = pstInHead;
/**如果只有头结点直接返回*/
if (1 == nListLen)
{
return 0;
}
NODE* pstTempNode = NULL;
pstInHead = pstInHead->plNext;
while (NULL != pstInHead)
{
pstTempNode = pstInHead;
pstInHead = pstInHead->plNext;
free(pstTempNode);
}
pstTempHead->plNext = NULL;
return 0;
}
int main()
{
NODE* pstListHead = createList(-1);
/**测试插入头部、尾部函数*/
insertListTail(pstListHead, 11);
insertListTail(pstListHead, 12);
insertListTail(pstListHead, 13);
insertListTail(pstListHead, 5);
insertListHead(pstListHead, 22);
/**遍历整个链表*/
forEachList(pstListHead);
/**测试删除头部节点*/
delListHead(pstListHead);
forEachList(pstListHead);
/**测试删除尾部节点*/
delListTail(pstListHead);
forEachList(pstListHead);
/**测试清空链表*/
clearList(pstListHead);
forEachList(pstListHead);
/**测试插入头部、尾部函数*/
insertListTail(pstListHead, 101);
insertListTail(pstListHead, 2);
insertListTail(pstListHead, 76);
insertListTail(pstListHead, 43);
insertListHead(pstListHead, 22);
insertListHead(pstListHead, 333);
forEachList(pstListHead);
/*测试正排序函数**/
sortList(pstListHead, 0);
forEachList(pstListHead);
/*测试反排序函数**/
sortList(pstListHead, 3);
forEachList(pstListHead);
system("PAUSE");
return 0;
}