Тема: Лінійний однозв’язний список
У мене є програма за допомогою якої користувач заповнує інформаційні поля з 10 вузлів однозв’язного списку
Мені потрібно заповнити і додати новий вузол після наступного вузла з аналогічним інформаційним полем.
Яким чином це можна реалізувати?
#include <stdio.h>
#include <stdlib.h>
typedef struct Node
{
    int info;
    struct Node *next;
} TypeNode;
TypeNode * CreateNode(TypeNode * LastNode);
TypeNode *head = NULL;
int main()
{
    system("chcp 1251");
    system("cls");
    printf("Заповніть числами інформаційні поля списку:\n");
    TypeNode *cur = NULL;
    for(int i=0;i<10;i++)
    {
      printf("Вузол %d: ", i);
      cur = CreateNode(cur);
    }
    printf("\n");
    printf("Вихідні дані:\n");
    printf("——————————————\n");
    TypeNode * p0 = head;
    int k=0, d=0;
    while (p0!=NULL)
    {
    printf("Вузол %d: %d\n", k, p0->info);
    printf("——————————————\n");
    p0 = p0->next;
    k++;
    }
    printf("Додавання нового вузла\n");          //створення нового вузла
    printf("Новий вузол: ");
    return 0;
}
TypeNode * CreateNode(TypeNode * LastNode)
{
    TypeNode * newNode;
    newNode = (TypeNode*)malloc(sizeof(TypeNode));
    scanf("%d", &newNode->info);
    newNode->next = NULL;
    if (head==NULL)
        head=newNode;
    else
        LastNode->next = newNode;
    return newNode;
}