如何检索给定索引处的值?

How to retrieve the value at a given index?

我对编程还很陌生,我正在从事一个涉及移动节点的项目。如何在用户输入表示的特定位置获取节点并将其值增加一?为了更好地解释:

这是我的代码...或者我的尝试:

#include <iostream>

struct Node {
    int data;
    struct Node* next;
};
class LinkedList {
private:
    Node* head;
public:
    LinkedList() 
    {
      head = NULL;
    }


    void print()   
    {
        Node* current = head;
       if (head != nullptr)
       {
        do 
         {
           std::cout << current->data << " ";
           current = current->next;
         }
        while (current != head);
       }
    }
};

int main() 
{
  LinkedList link_one;
  int nodes;
  std::cout << "nodes ";
  std::cin >> nodes;
  for (int index = 0; index < nodes; index++){
    link_one.print();
  }
  link_one.print();
  std::cout << std::endl;
}

尝试遍历

其实不用写答案,但是...我是新人:)

你的函数place_node应该添加一个参数:

int place_node(int idx)

然后...从你的头节点遍历"idx"次,修改当前节点的值,就这样。

这里是函数 place_node 的完整代码以实现您的目标:

int place_node(int idx) //no need to return
{
  Node* current = head;
  int count, index = 0;
  for(int i=0;i<idx;++i) current = current->next;
  current->data+=1;
  return 1; // no need to return
}