这是C链表,是建立和删除链表的程序,输入num(学号)和score,问一下当删除某节点,怎么使得学号按顺序输出?

2024-12-02 10:23:09
推荐回答(3个)
回答(1):

如果,链表的排列与学号无关的话,建议用指针数组来实现,
1:有n各节点的话就进行n趟遍历,将有序的节点地址信息存入数组的相应位置。n趟遍历的开销不小就是了。
2:在节点插入的时候就进行按学号顺序吧节点地址存入数组,删除的时候进行相应的删除。不过删除的开销还是比较大的。
3:直接按学号的顺序进行节点的插入,这是最简单的了。

回答(2):

链表还是简单,A->B->C,删除B的话,就是释放B节点的内存,将A的next指向C(原来是指向B的),C的prev指向A就行了。找个数据结构的书看看,自己写个小代码,配合打印还是很快的

回答(3):

插入的时候就注意顺序。以后链表就直接是有序的。删除什么的也不会改变了啊