本文整理汇总了C++中QStack::pop_back方法的典型用法代码示例。如果您正苦于以下问题:C++ QStack::pop_back方法的具体用法?C++ QStack::pop_back怎么用?C++ QStack::pop_back使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QStack
的用法示例。
在下文中一共展示了QStack::pop_back方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sort
void PGE_Menu::sort()
{
if(_items.size()<=1) {
autoOffset(); //Nothing to sort!
return;
}
QStack<int> beg;
QStack<int> end;
PGE_Menuitem * piv;
int i=0, L, R, swapv;
beg.push_back(0);
end.push_back(_items.size());
while (i>=0)
{
L=beg[i];
R=end[i]-1;
if (L<R)
{
piv=_items[L];
while (L<R)
{
while ((namefileMoreThan(_items[R], piv)) && (L<R)) R--;
if (L<R) _items[L++]=_items[R];
while ((namefileLessThan(_items[L], piv)) && (L<R)) L++;
if (L<R) _items[R--]=_items[L];
}
_items[L]=piv;
beg.push_back(L+1);
end.push_back(end[i]);
end[i++]=(L);
if((end[i]-beg[i]) > (end[i-1]-beg[i-1]))
{
swapv=beg[i];
beg[i]=beg[i-1];
beg[i-1]=swapv;
swapv=end[i];
end[i]=end[i-1];
end[i-1]=swapv;
}
}
else
{
i--;
beg.pop_back();
end.pop_back();
}
}
autoOffset();
}
示例2: sortElements
void PGE_LevelCamera::sortElements()
{
if(objects_to_render.size()<=1) return; //Nothing to sort!
QStack<int> beg;
QStack<int> end;
PGE_Phys_Object* piv;
int i=0, L, R, swapv;
beg.push_back(0);
end.push_back(objects_to_render.size());
while (i>=0)
{
L=beg[i]; R=end[i]-1;
if (L<R)
{
piv=objects_to_render[L];
while (L<R)
{
while ((objects_to_render[R]->zIndex()>=piv->zIndex()) && (L<R)) R--;
if (L<R) objects_to_render[L++]=objects_to_render[R];
while ((objects_to_render[L]->zIndex()<=piv->zIndex()) && (L<R)) L++;
if (L<R) objects_to_render[R--]=objects_to_render[L];
}
objects_to_render[L]=piv; beg.push_back(L+1); end.push_back(end[i]); end[i++]=(L);
if((end[i]-beg[i]) > (end[i-1]-beg[i-1]))
{
swapv=beg[i]; beg[i]=beg[i-1]; beg[i-1]=swapv;
swapv=end[i]; end[i]=end[i-1]; end[i-1]=swapv;
}
}
else
{
i--;
beg.pop_back();
end.pop_back();
}
}
}