#include <stdio.h>
#include <malloc.h>

typedef struct Node
{
	int data;
	struct Node* next;
}LinkNode;

int main()
{
	LinkNode* linkNode = (LinkNode*)malloc(sizeof(LinkNode));
	linkNode->data = 0;
	linkNode->next = NULL;
	LinkNode* p = linkNode;
	for (int i = 1; i < 10; i++)
	{
		LinkNode* node = (LinkNode*)malloc(sizeof(LinkNode));
		node->data = i;
		node->next = NULL;
		p->next = node;
		p = p->next;
	}
	p = linkNode;
	while (p != NULL)
	{
		printf("%d  ", p->data);
		p = p->next;
	}
	printf("\n\n");
    return 0;
}

封装

#include <stdio.h>
#include <stdlib.h>

typedef struct Node
{
    int data;
    struct Node* next;
}ListNode;

void initListNode(ListNode* listNode)
{
    listNode->data = 1;
    listNode->next = NULL;

    ListNode* p = listNode;
    for (int i = 2; i <= 10; i++)
    {
        ListNode *node = (ListNode*)malloc(sizeof(ListNode));
        node->data = i;
        node->next = NULL;
        p->next = node;
        p = node;
    }
}

void displayListNode(ListNode* listNode)
{
    ListNode *p = listNode;
    while (p != NULL)
    {
        printf("%d  ", p->data);
        p = p->next;
    }

    printf("\n\n");
}

//递归求和
int sumListNodeDatas(ListNode* listNode)
{
    if (listNode == NULL)
    {
        return 0;
    }
    else
    {
        return (listNode->data + sumListNodeDatas(listNode->next));
    }
}

int main()
{
    ListNode* listNode = (ListNode*)malloc(sizeof(ListNode));
    initListNode(listNode);
    displayListNode(listNode);
    int total = sumListNodeDatas(listNode);
    printf("%d  \n", total);
    return 0;
}

共有 0 条评论