您的位置:首页 > 其它

链表的创建 打印 反转

2013-11-15 15:24 218 查看
static NODE* buildLinklist(int count)
{
NODE* phead=NULL;
NODE* pre=phead;
int index=0;
while (index++<count)
{
NODE* p=(NODE*)malloc(NODELENGTH);
p->next=NULL;
p->intValue=index;
if (pre!=NULL)
{
pre->next=p;
}
pre=p;
if (phead==NULL)
{
phead=p;
}
}
return phead;
}
static void PrintLinkData(NODE* pHead)
{
NODE* pCurNode=pHead;
while(pCurNode)
{
printf("%d ",pCurNode->intValue);
pCurNode=pCurNode->next;
}
}
NODE* reverseLinkData(NODE* phead)
{
NODE* pCurNode=NULL;
NODE* pNextNode=NULL;
NODE* pPreNode=NULL;
pCurNode=phead;
if (pCurNode==NULL)
{
return pCurNode;
}

while(pCurNode->next)
{
pNextNode=pCurNode->next;
pCurNode->next=pPreNode;
pPreNode=pCurNode;
pCurNode=pNextNode;
}
pCurNode->next=pPreNode;
return pCurNode;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: