社区
C++ 语言
帖子详情
请教一道简单的题目
jp1984
2004-03-15 11:00:06
如何有递归函数r_reverseOutput() 按归反的顺序输出迭代器范围[first,last)的元素。template<typename T>
void r_reverseOutput(list<T>::iterator first,list<T>::iterator last)
...全文
148
12
打赏
收藏
请教一道简单的题目
如何有递归函数r_reverseOutput() 按归反的顺序输出迭代器范围[first,last)的元素。template void r_reverseOutput(list::iterator first,list::iterator last)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gameboy007
2004-03-21
打赏
举报
回复
你的意思是否这样
#include <iostream>
#include <list>
using namespace std;
template<typename T>
void r_reverseOutput(typename list<T>::iterator first, typename list<T>::iterator last)
{
while (true) {
swap(*first, *--last);
if (first == last)
break;
else if (++first == last)
break;
}
}
int main()
{
int v[] = { 1,2,3,4,5 };
list<int> a(v,v+sizeof(v)/sizeof(v[0]));
r_reverseOutput<int>(a.begin(), a.end());
list<int>::iterator beg(a.begin());
while (beg != a.end())
cout << *beg++ << " ";
system("PAUSE");
}
jp1984
2004-03-21
打赏
举报
回复
强!!!对了,就是这个意思。。。给分给分了!!
jp1984
2004-03-20
打赏
举报
回复
对的 啊,就是把原来表中元素反序存放。。至少要调用本身吧。。你的程序我为什么就看不明白呢
gameboy007
2004-03-20
打赏
举报
回复
你所指的递归是否是return一個反須序的容器?
jp1984
2004-03-20
打赏
举报
回复
这哪里用到递归了?????
gameboy007
2004-03-20
打赏
举报
回复
你所说的停止条件是是range[begin,end)?
我当是的话就是以下这样:
template<typename T>
void r_reverseOutput(list<T>::reverse_iterator first,list<T>::reverse_iterator last)
{
while (first != last) {
first->DoSomthing(); 对各个元素實行其调用
if (*first == condition) 達到停止条件後离开while loop
break;
++first;
}
first->DoOther();
}
如果你所说的停止条件是要找到其元素後就停止的話,应该用find例如:
list<T>::iterator itr(find(ctr.rbegin(), ctr.rend(), T_value));
jp1984
2004-03-17
打赏
举报
回复
有没有人顶?? 解决就加分……
gameboy007
2004-03-16
打赏
举报
回复
template<typename T>
void r_reverseOutput(list<T>::reverse_iterator first,list<T>::reverse_iterator last)
{
}
调用
reverseOutput(container.rbegin(), container.rend());
jp1984
2004-03-16
打赏
举报
回复
没有停止条件?????
jp1984
2004-03-16
打赏
举报
回复
是课后练习啊, WILLAM TOPP 和WILLIAM FORD 那本经典的《DATA STRUCTURE ,C++描述,USING STL》上的联系,真的不难,但是我一点思路都没有,为什么这么长时间了还是没有人来解决 。。我现在就在找那个停止条件。 用什么算法来实现的问题。。模型建不起来。
dahan2005
2004-03-16
打赏
举报
回复
很复杂呀!关注
congliu
2004-03-15
打赏
举报
回复
在传入参数时,用list的对象的rbegin()和rend()即可
题目
:放松一下,算
一道
简单
的
题目
博客提及算
一道
简单
题目
以放松,但内容无信息技术相关关键信息。
一道
简单
的sql注入
题目
本文分享了
一道
关于SQL整数型注入的CTF
题目
,通过分析和尝试,逐步揭示了注入点、获取列数、进行联合查询以暴露数据库信息的过程。最终发现flag藏于information_schema中的最后一个表名,成功解题。
一道
简单
的
题目
,却是易错的
题目
一道
关于float和double类型运算的
简单
题目
揭示了计算机中浮点数以二进制存储时的精度丢失问题。虽然结果看似相同,但实际可能存在细微差异,这对软件开发有着重要启示,提醒开发者关注底层知识原理。
一道
简单
的ACM
题目
作者本学期选算法分析与设计课程,接触ACM
题目
后有新看法。ACM解决树问题是先抽象树模型,再找出重复结点提高效率。作者给出北大
一道
ACM题的C++代码,该算法通过了时间效率测试,虽非最优但适合初学者。
C++ 语言
65,210
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章