При вставке узла в конец в связанном списке мой код работает в бесконечном цикле.
IDE Б-Затмения 64 бит ОСБесконечный цикл во вставке в связанном списке
#include<stdio.h>
#include<stdlib.h>
typedef struct Node
{
int info;
struct Node *next;
}node;
node *head;
node *ptr1;
void insert(int x);
void show();
int main()
{
int i,x,n;
puts("Enter number of elements\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
puts("Enter elements");
scanf("%d",&x);
insert(x);
}
show();
return 0;
}
// Чтобы вставить данные в связанном списке
void insert(int x)
{
node *ptr;
ptr1=head;
ptr=(node*)malloc(sizeof(node));
ptr->info=x;
if(head==NULL)
{
ptr->next=head;
head=ptr;
}
else
{
ptr1->next=NULL;
ptr1=ptr;
}
}
// Для того, чтобы распечатать детали списка // Невозможно выяснить эту функцию
void show()
{
while(ptr1->next!=NULL)
{
printf("%d\n",ptr1->info);
ptr1=ptr1->next;
}
}
Standard Предупреждение: [не отбрасывают] (http://stackoverflow.com/q/605845/ 2173917) возвращаемое значение 'malloc()' и family. –
Похоже, что head-> next установлен в голову ... вызывая бесконечный цикл в вашей функции show – javajavajava
Можете ли вы разместить свой ввод? –