龙空技术网

逆序打印链表(递归)

前端全栈开发 21

前言:

现在各位老铁们对“单链表逆序输出c语言是什么”大概比较着重,你们都想要分析一些“单链表逆序输出c语言是什么”的相关文章。那么小编也在网摘上收集了一些关于“单链表逆序输出c语言是什么””的相关知识,希望咱们能喜欢,大家快快来学习一下吧!

需求描述:给出一个单链表,实现逆序打印链表(要求:不改变单链表数据结构,采用递归方式)

typedef struct LinkNode {  	int val;  	struct LinkNode* next;}LinkNode;// 创建单链表void creatLinkList(LinkNode* head);// 逆序打印单链表void linkListReversePrint(LinkNode* node);//int main() {  // 创建单链表    LinkNode* head = (LinkNode*)malloc(sizeof(LinkNode));  	if(head == NULL) {exit(-1);}    head->next = NULL;    LinkNode* curr = head;    creatLinkList(curr);    // 逆序打印单链表    linkListReversePrint(head->next);    printf("\n");}#pragma mark - 创建单链表void creatLinkList(LinkNode* head) {    for(int i = 0;i < 5;i++) {        LinkNode* node = (LinkNode*)malloc(sizeof(LinkNode));      	if(node == NULL) {exit(-1);}        node->val = 100 * (i + 1);        node->next = head->next;        head->next = node;        head = head->next;    }}#pragma mark - 逆序打印链表 要求不改变单链表数据结构,使用递归实现void linkListReversePrint(LinkNode* node){    if(node != NULL)    {        if(node->next != NULL)        {            linkListReversePrint(node->next); //递归调用        }        printf("%d ",node->val);    }}

标签: #单链表逆序输出c语言是什么 #递归反向输出数字 #递归实现逆序输出 #递归输出逆序数 #递归函数逆序输出一串数字