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

[复制链接]
查看11 | 回复3 | 2012-7-27 22:53:28 | 显示全部楼层 |阅读模式
如果,链表的排列与学号无关的话,建议用指针数组来实现,1:有n各节点的话就进行n趟遍历,将有序的节点地址信息存入数组的相应位置。n趟遍历的开销不小就是了。2:在节点插入的时候就进行按学号顺序吧节点地址存入数组,删除的时候进行相应的删除。不过删除的开销还是比较大的。3:直接按学号的顺序进行节点的插入,这是最简单的了。...
回复

使用道具 举报

千问 | 2012-7-27 22:53:28 | 显示全部楼层
链表还是简单,A->B->C,删除B的话,就是释放B节点的内存,将A的next指向C(原来是指向B的),C的prev指向A就行了。找个数据结构的书看看,自己写个小代码,配合打印还是很快的...
回复

使用道具 举报

千问 | 2012-7-27 22:53:28 | 显示全部楼层
插入的时候就注意顺序。以后链表就直接是有序的。删除什么的也不会改变了啊...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行