c语言版创建单循环链表

2014-11-23 22:25:24 · 作者: · 浏览: 5

print Node *create()
{
int n = 20;

Node *pNew, *pTail, *pHead;

pHead = (Node *)malloc(sizeof(Node));
pHead->next = pHead;//空链表 自己指向自己

pTail = pHead; //pTail指针指向pHead节点

for(int i = 1; i <= n; i++)
{
pNew = (Node *)malloc(sizeof(Node));
if(pNew == NULL)
{
printf("error!!");
exit(0);
}
pNew->data = i;

if(pHead->next == pHead)//此时为空链表
{
pHead->next = pNew;
pTail = pNew; //pTail指向新添加的那个节点
}else{//不是空表的时候
pTail->next = pNew;
pTail = pNew;
}
}

pTail->next = pHead;//添加完以后把尾指针的指针域指向头节点

return pTail;
}

Node *create()
{
int n = 20;

Node *pNew, *pTail, *pHead;

pHead = (Node *)malloc(sizeof(Node));
pHead->next = pHead;//空链表 自己指向自己

pTail = pHead; //pTail指针指向pHead节点

for(int i = 1; i <= n; i++)
{
pNew = (Node *)malloc(sizeof(Node));
if(pNew == NULL)
{
printf("error!!");
exit(0);
}
pNew->data = i;

if(pHead->next == pHead)//此时为空链表
{
pHead->next = pNew;
pTail = pNew; //pTail指向新添加的那个节点
}else{//不是空表的时候
pTail->next = pNew;
pTail = pNew;
}
}

pTail->next = pHead;//添加完以后把尾指针的指针域指向头节点

return pTail;
}