我有一个数据结构,例如:
struct Data
{
string firstname;
string lastname:
string age;
}
Run Code Online (Sandbox Code Playgroud)
我已将每个结构放在一个向量(VectorOfData)中.是否可以循环遍历此向量并按向下年龄对向量中的每个结构进行排序?使用类似的东西:
for(std::vector<Data>::const_iterator it = VectorOfData.begin(); it != VectorOfData.end(); ++it)
{
//sorting by age here?
}
Run Code Online (Sandbox Code Playgroud)
我假设它不会那么简单,因为it迭代器一次只访问向量中的一个结构?
我意识到我甚至可以在将结构放入向量之前进行排序,但我的问题并不那么简单.这是我能解释它的最简单方法.任何建议将不胜感激,谢谢
我有一大堆较小的子列表,如:
[ [005,Chester,100],[001,Bob,99],[002,Andy,77] ]
Run Code Online (Sandbox Code Playgroud)
我正在尝试制作一个循环显示整个列表的显示"功能",并显示如下:
No.1: ID="005", Name="Chester", Grade=100
No.2: ID="001", Name="Bob", Grade=99
No.3: ID="002", Name="Andy", Grade=77
Run Code Online (Sandbox Code Playgroud)
在prolog中思考是很难的,但我正在努力进行递归思考.非常感谢任何帮助!
我正在尝试编写一个交换第一个和最后一个元素的程序.
该函数有2个参数.列表和变量,显示为新交换的列表.
我以为我是以懒惰的方式做这件事,但事实证明这对我来说同样艰难.
我要抓住头部,把它放在一边 - 抓住尾巴的最后一个元素,把它放在一边 - 取尾巴,取出最后一个元素,也把它放在一边,然后将所有3个附加在一起制作一个清单
我在删除尾巴的最后一个元素时遇到了麻烦.
我有这样的事情:
swap( [H|T], Y ) :-
% GET HEAD, LAST OF TAIL, AND TAIL WITH LAST ELEM REMOVED
% GET HEAD (NEW LAST ELEMENT)
H = NEW_LASTELEMENT,
% GET LAST ELEMENT (LAST OF TAIL, WILL BE NEW HEAD)
last(T,X), X = NEWHEAD,
% CUT END OF TAIL OFF
cutlast(T, Z), REST OF CODE . . .
.
% CUT LAST
cutlast([H | T], [H | T2]) :- T = [_|_], cutlast(T, …
Run Code Online (Sandbox Code Playgroud)