C語言實現鏈表從尾到頭輸出(採用遞歸思想)

比如:輸入一個鏈表,按鏈表從尾到頭的順序返回一個ArrayList

#include"stdio.h"
#include"stdlib.h"

typedef struct node * pointer;

struct node
{
	char dat;
	pointer next;
};

pointer creat( pointer rear)
{
	pointer p,head;
	char c;
	head = (struct node *)malloc(sizeof(struct node));
	rear = head;
	while (scanf_s("%c",&c), c != '$'){
		p = (struct node *)malloc(sizeof(struct node));
		p->dat = c;
		rear->next = p;
		rear = p;
	}
	rear->next = NULL;
	return head;
}

void recursion_printf(pointer head)
{
	pointer p;
	p = head->next;
	if (p != NULL)
	{
		recursion_printf(p);
		printf("%c", p->dat);
	}
}
void main()
{
	pointer head, rear;
	rear = head = NULL;
	head=creat(rear);
	recursion_printf(head);
	printf("\n");
}

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章