c语言链表如何正序复制,单链表的正序创建的问题(帮下忙谢谢了)

#include

#include

#include

typedef struct node

{

char data;

struct node *nextPtr;

}*LinkList, Lnode;

static void CreateList(LinkList *headPtr, LinkList *tailPtr);

static void VisitList(LinkList headPtr);

static void DestroyList(LinkList *headPtr, LinkList *tailPtr);

int main(void)

{

LinkList headPtr = NULL, tailPtr = NULL;

CreateList(&headPtr, &tailPtr);

VisitList(headPtr);

DestroyList(&headPtr, &tailPtr);

getch();

return 0;

}

static void CreateList(LinkList *headPtr, LinkList *tailPtr)

{

char ch;

LinkList newPtr;

printf("Enter create list string: ");

fflush(stdin);

while (1)

{

scanf("%c", &ch);

if (ch == '\n')

{

return ;

}

if ((newPtr = (LinkList)malloc(sizeof(Lnode))) == NULL)

{

exit(1);

}

newPtr -> data = ch;

newPtr -> nextPtr = NULL;

if (*headPtr == NULL)

{

newPtr -> nextPtr = *headPtr;

*headPtr = newPtr;

}

else

{

(*tailPtr) -> nextPtr = newPtr;

}

*tailPtr = newPtr;

}

}

static void VisitList(LinkList headPtr)

{

while (headPtr != NULL)

{

printf("%c", headPtr -> data);

headPtr = headPtr -> nextPtr;

}

printf("\n");

}

static void DestroyList(LinkList *headPtr, LinkList *tailPtr)

{

LinkList tempPtr;

while (*headPtr != NULL)

{

tempPtr = *headPtr;

*headPtr = (*headPtr) -> nextPtr;

free(tempPtr);

}

*headPtr = NULL;

*tailPtr = NULL;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值