#include <iostream>
using namespace std;
typedef struct Student
{
int id;
int age;
Student *next;
}Student;
Student* createList(int num)
{
Student * head = (Student *)malloc(sizeof(Student));
Student *p;
p = head;
int count = 0;
while (num > 0)
{
Student *node = (Student *)malloc(sizeof(Student));
node->id = ++count;
node->age = count;
p->next = node;
p = node;
num--;
}
p->next = NULL;
return head;
}
void deleteList(Student *&list,int age)
{
Student *pre = list;
Student *current = list->next;
while (current != NULL)
{
if (current->age == age)
{
Student *tmp = current;
pre->next = current->next;
free(tmp);
tmp = NULL;
break;
}
pre = pre->next;
current = current->next;
}
}
void printList(Student *list)
{
Student *node = list->next;
while(node != NULL)
{
cout << node->id << " ";
node = node->next;
}
cout << endl;
}
int main(int argc, char const *argv[])
{
Student * list = createList(5);
printList(list);
deleteList(list, 1);
printList(list);
return 0;
}