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

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

#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(i<length){
item=this->get(i);
i++;
cout<<item<<" ";
}
cout<<endl;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值