几个问题。第二个while中两个条件是必须同时满足。而且第二个是不等于空。不知道是不是你漏掉了!。。。然后你释放空间时。q指针指向吓一跳必须为空。你是把所有满足条件的接点选出来再删。其实这是没必要的。你要求高效。你可以在链表中第一个元素开始。看他值是不是在删除范围。满足立马删除。不满足就往下移。往下移判断什么条件该知道吧。这样删除工作没少。但比你这个少了很多关于单纯的指针移位操作。而且在比较操作上少了很多。所有你的值得修改。。手机打。有些符号不好打就没打