В этом проблема.реализовать связанный список в C
вход 4 вида команды,
"ADD SC", что означает добавление студента S в курсе C.
"DROP SC" означает студент падения S в курсе С.
" PRINTS S "означает распечатать весь курс, который был сделан студентом S.
«PRINT C» означает, распечатать все студент взят курс С.
вход не остановится, пока его достичь конца файла (EOF).
Итак, я решил использовать связанный список для этого.
первый, я определение структуры
typedef struct node
{
int SID;
int CID;
struct node* next;
}node;
Затем я сделать функцию create_node.
node* create_node(int IDS, int IDC)
{
node* copy = (node*)malloc(sizeof(node));
copy->SID = IDS;
copy->CID = IDC;
copy->next = NULL;
return copy;
}
И, я также создаю функцию узла вставки.
void insert_node(node* a, node* b)
{
a->next = b;
b->next = NULL;
}
Проблема возникает. Потому что вход будет остановлен только тогда, когда он достигнет конца файла. Это означает, что «ADD 1 2», «ADD 2, 3» ....... появляются так много раз. Я хочу знать, как связать два узла, так как в обычно, я
node* a = create_node(2, 3);
node* b = create_node(7, 7);
insert_node(a, b);
, но теперь, я не могу это сделать. Может ли кто-нибудь дать мне пример? Большое спасибо.
Может быть, вы еще не видели это, но [пожалуйста, не бросайте возвращаемое значение ' malloc() 'in C] (http://stackoverflow.com/a/605858/28169). – unwind
... почему? лекционная записка научит меня делать это ... – zodiac
Этот синий текст - это ссылка. Обоснование заключается в ответе, на который указывает ссылка. Может быть, что-то передать своему учителю тоже. :) – unwind