Я хочу создать связанный список чисел от 1 до 1000 и напечатать числа. Im с использованием функции createList()
для создания списка и printList()
для печати элементов. Но следующий код сбой. Может кто-нибудь исправить. Я новичок в связанный списокСоздание связанного списка и печать элементов?
#include<stdio.h>
#include<stdlib.h>
struct node
{
int data;
struct node* link;
};
struct node* head;
void deleteNode()
{
}
void createList()
{
int i;
struct node* temp = (struct node*)malloc(sizeof(struct node));
head = temp;
struct node* temp1 = (struct node*)malloc(sizeof(struct node));
for(i=0;i<10;i++)
{
temp->data = i+1;
temp->link = temp1;
temp1->link = temp++;
temp1++;
}
}
void printList()
{
struct node* temp = (struct node*)malloc(sizeof(struct node));
temp = head;
while(temp != NULL)
{
printf("%d ", temp->data);
temp = temp->link;
}
}
int main()
{
head = NULL;
createList();
printList();
return 0;
}
Что вы делаете? Создание всего двух элементов и размещение 10 элементов внутри? –
Обратитесь и исправьте свой метод создания. Http://www.c4learn.com/data-structure/c-program-to-create-singly-linked-list/ –
'Но следующий код сбой' - отладчик может скажите, какая строка кода рушится, это полезная информация для кого-то, кто поможет вам, или для вас, чтобы помочь себе. Что вы ожидаете от 'temp ++' и 'temp1 ++'? – Mike