Это как моя программа, но она не выводит полный перечень только данные узла, который введенные last.I не мог понять, что это проблема в соединении или нет:Единый список печати ошибок
основная структура узел
struct node
{
int data;
struct node *link;
};
определение заголовка в начале списка ссылок:
struct node *header;
функции для вставки и печати:
void insertFront_sl();
void print_sl();
Основная функция:
void main()
{
clrscr();
header=(struct node *)malloc(sizeof(struct node));
header->link=NULL;
header->data=NULL;
insertFront_sl();
insertFront_sl();
insertFront_sl();
insertFront_sl();
print_sl();
getch();
}
void insertFront_sl(){
struct node *temp;
int x;
temp=(struct node *)malloc(sizeof(struct node));
if(temp==NULL)
{
printf("\nMeM0rY Insufficient ..");
}
else
{
printf("\nGot New Node \nNow Insert Data Into Node : ");
scanf("%d",&x);
temp->data=x;
header->link=temp;
}
}
void print_sl(){
struct node *ptr;
ptr=header;
while(ptr->link !=NULL)
{
ptr=ptr->link;
printf("%d\t",ptr->data);
}
}
Не могли бы вы отобразить выходные данные? –
Вы никогда не устанавливаете 'temp-> link' –
' insertNode_sl() 'багги, ему не нужно обновлять' header' (возможно, только если ссылка header-> равна NULL, только при первом вводе узла). Но, пожалуйста, отпечатайте свой код, чтобы его было легче читать. В вашем коде есть другие проблемы с дизайном, но это вне сферы действия здесь. –