代码如下所示:
复制代码 代码如下:
#include <iostream>
template <typename T>
class double_linked
{
struct node
{
T data;
node* prev;
node* next;
node(T t, node* p, node* n) : data(t), prev(p), next(n) {}
};
node* head;
node* tail;
public:
double_linked() : head( NULL ), tail ( NULL ) {}
template<int N>
double_linked( T (&arr) [N]) : head( NULL ), tail ( NULL )
{
for( int i(0); i != N; ++i)
push_back(arr[i]);
}
bool empty() const { return ( !head || !tail ); }
operator bool() const { return !empty(); }
void push_back(T);
void push_front(T);
T pop_back();
T pop_front();
~double_linked()
{
while(head)
{
node* temp(head);
head=head->next;
delete temp;
}
}
};
template <typename T>
void double_linked<T>::push_back(T data)
{
tail = new node(data, tail, NULL);
if( tail->prev )
tail->prev->next = tail;
if( empty() )
head = tail;
}
template <typename T>
void double_linked<T>::push_front(T data)
{
head = new node(data, NULL, head);
if( head->next )
head->next->prev = head;
if( empty() )
tail = head;
}
template<typename T>
T double_linked<T>::pop_back()
{
if( empty() )
throw("double_linked : list empty");
node* temp(tail);
T data( tail->data );
tail = tail->prev ;
if( tail )
tail->next = NULL;
else
head = NULL ;
delete temp;
return data;
}
template<typename T>
T double_linked<T>::pop_front()
{
if( empty() )
throw("double_linked : list empty");
node* temp(head);
T data( head->data );
head = head->next ;
if( head )
head->prev = NULL;
else
tail = NULL;
delete temp;
return data;
}
int main()
{
int arr[] = { 4, 6, 8, 32, 19 } ;
double_linked<int> dlist ( arr );
dlist.push_back( 11 );
dlist.push_front( 100 );
while( dlist )
std::cout << dlist.pop_back() << " ";
}
相关推荐:
AI免费生成文章让创作变得轻松自如
SEO笔记:如何打造高效的SEO策略提升网站排名,网站优化优质服务方案
主题导航-引领互联网世界的智慧之路,大渡口网站建设方案
SEO做法-提升网站流量与排名的关键秘诀,屏东网站推广招聘
seo用什么手法,seo方式 ,ai绘画飞翔
SEO怎么优化比较好?全面提升网站排名的实用技巧,高级ai玩家
SEO观察:2025年搜索引擎优化的新趋势与机遇,seo2是什么状态
SEO搜外:全球搜索引擎优化的秘密武器,如何选择网站建设类型呢
2025年SEO最新技术:让你的网站脱颖而出!,ai少女特色
SEO化学物质:如何在化工行业提升搜索引擎排名和品牌曝光,rack ai
为什么网站要做seo,网站做seo的目的是什么 ,ai初选
OpenAI推出的GPT-4Turbo大幅降低了AI应用成本,推动了AI技术的普及化,ai*版
为什么说seo重要,为什么说seo重要一点 ,中通智能ai是什么意思
ChatGPT回答问题,网页无法线下滚动?解决方案轻松get!,谷歌AI铃声
AI人工智能文章生成平台,释放创作无限可能
AI助手不需要登陆-畅享便捷生活,随时随地高效工作,ai客服 对话
ChatGPT显示503:如何应对AI服务不可用的困境?,ai宝贝宝贝
SEO精通:让你的内容在搜索引擎中脱颖而出,跨境电商 推广营销
AI+写文章:开启智能创作新时代
什么是神马排名?让你的网站脱颖而出,轻松占据搜索引擎的C位!,乳山网站优化关键词排名
SEO实现:如何通过SEO优化提升网站流量与排名,南京市公司网站推广
AI一键生成文章,写作新境界
seo简介主要写什么,seo主要内容 ,AI弧线这
文章自动生成AI:助力写作新时代,让创作更高效
SEO用户:如何为您的网站带来持续流量和转化,惠州网站推广哪个好
SEO模块:提升网站排名,驾驭数字营销未来,营口网站建设制作平台
SEO开发:数字营销的核心驱动力,园区网站建设
Chat启用后ESX连不上?解决方法一网打尽!,为什么AI续写这么离谱
什么是seo运营,什么是seo营销 ,ai绘画沙地
ChatGPT:基于Transformer技术的语言模型,开创人工智能未来,AI独战OK
Chatget免费网站版无需登录,畅享无限对话体验!,工业 Ai 视觉检测
《“查看更多”背后的秘密:让你的人生更加丰富多彩!》,宁安公司网站建设
ChatGPT使用问题?如果您正在使用VPN,请尝试将其关闭,ai制作渐变立体
ChatGPT的破解版:AI世界的新突破,ai无禁忌
AI撰写工具的无限可能,让内容创作更高效、更精彩!
用AI写的文章算原创吗?真相揭示,带你深度思考!
怎样用AI写文章?快速高效创作新技能!
SEO运维:提升网站排名的核心战略,邢台网站建设优化建站
为什么seo推广那么多,seo推广难吗 ,东莞ai听译平台
SEO而且:打造高效网站流量增长的秘密武器,滨江网站推广营销
seo网站页面优化包括什么,seo页面优化技术 ,no ai写作
优化百:开启数字时代的智能营销新时代,湘潭seo优化报价表
用AI修改文章,提升写作效率与质量的新时代
SEO需要:如何提升网站排名,打造高效营销利器,seo怎么推广关键词
AI免费免登录:轻松体验人工智能的魔力,无需繁琐注册,华为AI音箱2音质如何
seo需要会什么技术呢,seo需要会什么技术呢知乎 ,红色框ai
seo深度优化插件是什么,深度优化手机软件 ,ai的缩写
企业SEO:如何通过搜索引擎优化提升企业网络竞争力,安阳网站优化布局设计
SEO子-为你的网站注入流量的秘密武器,麻城网站网址优化
ChatGPT暂时不可用?如何高效应对并寻找最佳替代方案!,logo ai教程视频