Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
};
//-----------------------------------
template <class Data>
List <Data>::~List(){
if (pbeg!=0){
Node *pv = pbeg;
while (pv){
pv = pv->next; delete pbeg;
pbeg = pv;}
//--------------------------------------
template <class Data>
void List <Data>::print(){
Node *pv = pbeg;
cout << endl<< "list: ";
while (pv){
cout << pv->d << ' ';
pv = pv->next;}
cout << endl;
}
//--------------------------------------------
template <class Data>
void List <Data>::print_back(){
Node *pv = pend;
cout << endl << " list back: ";
while (pv){
cout << pv->d << ' ';
pv = pv->prev;}
cout << endl;
}
//-----------------------------------
template <class Data>
void List <Data>::add(Data d){
Node *pv = new Node(d);
if (pbeg == 0)pbeg = pend = pv;
else{
pv->prev = pend;
pend->next = pv;
pend = pv;}
}
//----------------------------------------------------
template <class Data>
Node * List <Data>::find(Data d){
Node *pv = pbeg;
while (pv){
if(pv->d == d)break;
pv = pv->next;
}
Return pv;
}
//------------------------------------------------------------
template <class Data>
Node * List <Data>::insert(Data key, Data d){
if(Node *pkey = find(key)){
Node *pv = new Node(d);
pv->next = pkey->next;
pv->prev = ркеу;
pkey->next =pv;
i f (ркеу!= pend)(pv->next)->prev = pv;
else pend = pv;
return pv;}
return 0:
}
// -------------------------------------------
template <class Data>
bool List <Data>::remove(Data key){
if(Node *pkey = find(key)){
i f (pkey == pbeg){
pbeg = pbeg->next; pbeg->prev = 0:}
else if (pkey == pend){
pend = pend->prev; pend->next = 0:}
else {
(pkey->prev)->next = pkey->next;
(pkey->next)->prev = pkey->prev;}
Delete pkey;
Дата публикования: 2014-11-28; Прочитано: 246 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!