【问题标题】:insert function for linked list [closed]链表的插入函数[关闭]
【发布时间】:2012-10-25 12:21:07
【问题描述】:
struct Node {
    float  item;
    Node * next;
    Node * previous;
};

我正在尝试为这个双链表编写一个函数insert,它将浮点数据插入到使用标题bool insert (int pos, float data);的列表上的位置pos,如果插入成功,该函数应该返回true,否则返回false

但是我正在尝试复制我在网上看到的东西,但我没有成功,有人可以给我看一个示例代码,也许可以理解或了解如何做到这一点吗?

这是我到目前为止所得到的。如果插入成功,该函数应返回 true,否则返回 false。但我不认为我接近这个权利

  bool insert ( int pos, float data)
{
    if(pos< 1||pos> 1) throw...
        if (pos ==1)
        {
            ListNode* node=new Listnode;
            node-> data=item;
            node-> next-head;
            if(head!=NULL)
                head->prev=node;
            node-> prev=NULL;
            head=node;
            ++count;
        }

【问题讨论】:

  • 我正在尝试了解链表的工作原理以及如何实现此代码,但我不知道函数头及其要求的样本可能对我真正有什么好处。
  • 如果没有看到您已经编写的代码,很难回答这个问题。实现双向链表的方法有很多。
  • 我如何使用这个结构来实现它?
  • 有很多方法可以使用这个结构来实现它。如果您发布到目前为止您一直在尝试的内容,这将有所帮助,即使它不正确。
  • 另外,除非您将其写成学习练习,否则您应该查看std::list 或任何其他standard containers

标签: c++ function linked-list


【解决方案1】:

这样的东西可以让你开始

struct Node {
    float  item;
    Node * next;
    Node * previous;
};

class DoublyLinkedList
{
public:
    DoublyLinkedList();
    bool insert(int pos, float data);
private:
    Node* head;
    int count;
};

bool DoublyLinkedList::insert(int pos, float data)
{
    ...
}

但我认为在完成本教程之前,您需要学习很多有关 C++ 的知识。最好在网上看一个完整的例子。

【讨论】:

  • 啊,我知道我也必须为此开设一堂课。好吧,我试着从这个中学习它,但在里面我必须弄清楚这个 lmfao
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多