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;
};