Здравствуйте , дан список со значениями , как сделать его копию
Node* createList()//ввод списка с клавиатуры
{
Node* List; //создание вершины списка
List = NULL;
int N = 0;
int n = 0;
printf("Введите количество элементов: ");
scanf_s("%d", &N);
puts("Введите список");
for (int i = 0; i < N; i++)
{
printf("Элемент: ");
scanf_s("%d", &n);
List = add(List, n);
}
return List;
}
Node* add(Node* List, int n)//добавление элемента в список
{
if (List == NULL)//если список пуст,то создаем первый элемент
{
List = new Node; //выделяем память и заполняем поля
List->inf = n;
List->link = NULL;
}
else //иначе добавляем в конец
{
Node* last;
last = List;//переменная для хранения текущего узла, указатель на текущий узел
while (last->link)
{
last = last->link; //находим последний элемент
}
last->link = new Node; //выделяем память и заполняем поля
last->link->inf = n; //добавляем новый элемент
last->link->link = NULL;
}
return List;
}