数据结构面试题 - 双向链表建立、插入和删除的代码

在内容闲暇时间,将做工程过程中常用的内容备份一次,下边内容是关于数据结构面试题 - 双向链表建立、插入和删除的内容,希望能对各位朋友有好处。

#include<iostream>
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>(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<typename T> void TwoWayLinkedList<T>::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(i<length){
  item=this->get(i);
  i++;
  cout<<item<<" ";
 }
 cout<<endl;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值