前言:
此刻姐妹们对“递归实现逆序输出字符串c语言”都比较注意,咱们都想要学习一些“递归实现逆序输出字符串c语言”的相关文章。那么小编在网络上网罗了一些有关“递归实现逆序输出字符串c语言””的相关内容,希望小伙伴们能喜欢,咱们快快来学习一下吧!递归一定要设置明确的结束条件,如果不设置限制条件,递归就是一个死循环。
:1.不生成新链表,利用打印函数实现逆序输出
PrintList_Recursion这个打印数据的函数,在被调用时,原函数暂停,开始执行被调用的函数,被调用的函数执行完毕后,才会继续执行原函数。利用这个原理,实现数据的逆序输出
:2.用递归的方法生成新的逆序链表
生成新的链表,创建一个全局变量
Node *new_Head;//全局变量,存储新的链表的头指针
Node* Reverse_Recursion(Node* head_Pointer){ if(NULL == head_Pointer->pNext){ //递归退出条件,指针指向最后一个节点 new_Head = head_Pointer; //新链表的头指针指向旧链表最后一个节点 return new_Head; } Reverse_Recursion(head_Pointer->pNext); //当head_Pointer=150时 head_Pointer->pNext->pNext = head_Pointer;//节点250的pNext指针指向节点150 head_Pointer->pNext = NULL; return new_Head;}
int main(){ Node* pHead = NULL; pHead = Insert_Tail(pHead,1);//尾插法增加节点 pHead = Insert_Tail(pHead,2); pHead = Insert_Tail(pHead,3); pHead = Insert_Tail(pHead,4); pHead = Insert_Tail(pHead,5); pHead = Insert_Tail(pHead,6); pHead = Insert_Tail(pHead,7); pHead = Insert_Tail(pHead,8); pHead = Insert_Tail(pHead,9); pHead = Insert_Tail(pHead,10); pHead = Insert_Tail(pHead,11); pHead = Insert_Tail(pHead,12); PrintList(pHead);//打印旧链表数据 new_Head=Reverse_Recursion(pHead); PrintList(new_Head);//打印逆序生成的新链表数据 return 0;}
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #递归实现逆序输出字符串c语言 #c语言用递归法将数字逆序输出