马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Isshiki_Iroha 于 2020-11-22 18:07 编辑 struct listnode{
char data;
struct listnode *nextPtr;
};
typedef struct listnode ListNode;
void reverse(ListNode *sPtr)
{
ListNode *Current;
ListNode *New = NULL;
ListNode *temp = New;
Current = sPtr;
while(Current != NULL)
{
headadder(&New,Current->data);
Current = Current->nextPtr;
}
Current = sPtr;
while(New !=NULL)
{
printf("%c --->",New->data);
New = New->nextPtr;
}
printf("NULL\n\n");
}
void headadder(ListNode **Ptr, char value)
{
ListNode *character, *temp;
character = (ListNode *)malloc(sizeof(ListNode));
character->data = value;
if (*Ptr != NULL)
{
temp = *Ptr;
*Ptr = character;
character->nextPtr = temp;
}
else
{
*Ptr = character;
character->nextPtr = NULL;
}
}
这里有结构体定义和两段子函数,sPtr是一个单链表,reverse函数将传进来的单链表sPtr逆向并创建新链表New来保存,现在的问题是如何将子函数创建的逆向单链表赋给sPtr。
|