上课:从头开始列出

时间:2019-02-18 15:44:41

标签: c++ list class

void list::add(int k, int x) {
    cnt++;
    node *p= new node;
    node *q= right;
    p->info = x;
    for(int i=0; i<k; i++){
      if(q->next == NULL){
        node *r = new node;
        q->next=r;
      }
      q=q->next;
    }
    // p->next=q; (this one is not needed)
    q->next=p;  
}

我正在制作一个具有add方法的列表类,该方法将x值添加到k点。当我运行程序时,它返回3221225477,并且我很确定问题出在该方法中。

class list {
public:
       list   ();
  bool empty  ();
  int  size   ();
  void add    (int k, int x); 
  int  get    (int k);
  void remove (int k);
private:
    struct node{
      int info;
      node *next;
    };
    node *right;
    int cnt=0;
};

0 个答案:

没有答案