您将如何从链表中删除重复的奇数? [英] How will you delete duplicate odd numbers from a linked list?

查看:259
本文介绍了您将如何从链表中删除重复的奇数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

要求/约束​​:


  1. 删除重复的只

  2. 保留一份副本

  3. 列表最初不排序

如何在C中实现?
(算法和/或code将大大AP preciated!)

How can this be implemented in C? (An algorithm and/or code would be greatly appreciated!)

推荐答案

我想无论是


  • 归并排序列表后跟一个线性扫描删除重复

  • 使用的插入排序基于算法已经删除重复建设重新名单时

前者会更快,后者更容易从头来实现:只要从旧名单突然离开元素和通过扫描会将其插入到新建立一个新的列表,直到你遇到更大的价值的元​​素(在这种情况下,你插入元素到列表中)或同等价值(在这种情况下,你丢弃元素)。

The former will be faster, the latter is easier to implement from scratch: Just construct a new list by popping off elements from your old list and inserting them into the new one by scanning it until you hit an element of greater value (in which case you insert the element into the list) or equal value (in which case you discard the element).

这篇关于您将如何从链表中删除重复的奇数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆