データ構造面接問題-双方向リンク作成、挿入と削除のコード

1282 ワード

暇な時間に工程でよく使われる内容をバックアップします.下の内容はデータ構造に関する面接問題です.
#include
using std::cout;
using std::endl;

public:
 Node(T t):item(t),previous(0),next(0){}
 T item;
};

public:
 TwoWayLinkedList():length(0),head(0),tail(0){};
 ~TwoWayLinkedList();
 int getLength(){return length;}
 void add(T t);
 T get(int i);
 void insert(int i,T t);
 void del(int i);
 void display();
private:
 int length;
};

  head=new Node(t);
  tail=head;
 }
 else {
 }
 length++;
}

 int j=0;
  p=p->next;
  j++;
 }
 T item=(p->T);
 return item;
}

  p->next=head;
  head->previous=p;
  head=p;
  length++;
 }
 else{  
  int j=0;
   t=t->next;
   j++;
  }
  n->next=t->next;
  n->previous=t;
  (t->next)->previous=n;
  t->next=n;
  length++;
 }
}

template void TwoWayLinkedList::del(int i){       i   
 else{
   delete head;
   head=0;
   tail=0;
  }
   head->previous=0;
   delete t;  
  }
   tail->next=0;
   delete t;
  }
  else{
   t=t->next;
   i--;
  }
  t->next=p->next;
  (p->next)->previous=t;
  delete p;
  }
  length--;
 }
}

  p=t;
  t=t->next;
  delete p;
 }
}

 T item;
 int i=0;
 while(iget(i);
  i++;
  cout<