本文整理汇总了C++中DPQ::isEmpty方法的典型用法代码示例。如果您正苦于以下问题:C++ DPQ::isEmpty方法的具体用法?C++ DPQ::isEmpty怎么用?C++ DPQ::isEmpty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DPQ
的用法示例。
在下文中一共展示了DPQ::isEmpty方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testInterleavedSorting
void testInterleavedSorting()
{
DPQ dpq;
const Index MAXI( 101 );
for( int i( MAXI-1 ); i != 0 ; i-=2 )
{
dpq.push( i );
}
for( int i( MAXI ); i != -1 ; i-=2 )
{
dpq.push( i );
}
BOOST_CHECK_EQUAL( MAXI, dpq.getSize() );
BOOST_CHECK( dpq.checkConsistency() );
int n( 0 );
while( ! dpq.isEmpty() )
{
++n;
BOOST_CHECK_EQUAL( n, dpq.getTop() );
dpq.popTop();
}
BOOST_CHECK_EQUAL( MAXI, Index( n ) );
BOOST_CHECK( dpq.isEmpty() );
BOOST_CHECK( dpq.checkConsistency() );
}
示例2: testClearManyItems
void testClearManyItems()
{
DPQ dpq;
typedef typename DPQ::Index Index;
for( int i( 0 ); i < 70000; ++i )
{
dpq.push( i );
}
BOOST_CHECK( dpq.checkConsistency() );
dpq.clear();
BOOST_CHECK( dpq.isEmpty() );
BOOST_CHECK( dpq.checkConsistency() );
dpq.push( 2 );
dpq.push( 20 );
dpq.push( 30 );
BOOST_CHECK_EQUAL( Index( 3 ), dpq.getSize() );
dpq.clear();
BOOST_CHECK( dpq.isEmpty() );
BOOST_CHECK( dpq.checkConsistency() );
}
示例3: Index
BOOST_AUTO_TEST_CASE_TEMPLATE( testClear_manyItems, DPQ, both )
{
DPQ dpq;
typedef typename DPQ::Index Index;
for( int i( 0 ); i < 70000; ++i )
{
dpq.push( i );
}
BOOST_CHECK( dpq.check() );
dpq.clear();
BOOST_CHECK( dpq.isEmpty() );
BOOST_CHECK( dpq.check() );
dpq.push( 2 );
dpq.push( 20 );
dpq.push( 30 );
BOOST_CHECK_EQUAL( Index( 3 ), dpq.getSize() );
dpq.clear();
BOOST_CHECK( dpq.isEmpty() );
BOOST_CHECK( dpq.check() );
}
示例4: MAXI
BOOST_AUTO_TEST_CASE_TEMPLATE( testSimpleSorting, DPQ, both )
{
DPQ dpq;
const int MAXI( 100 );
for( int i( MAXI ); i != 0 ; --i )
{
dpq.push( i );
}
BOOST_CHECK( dpq.check() );
int n( 0 );
while( ! dpq.isEmpty() )
{
++n;
BOOST_CHECK_EQUAL( n, dpq.getTop() );
dpq.popTop();
}
BOOST_CHECK_EQUAL( MAXI, n );
BOOST_CHECK( dpq.isEmpty() );
BOOST_CHECK( dpq.check() );
}
示例5: testSimpleSorting
void testSimpleSorting()
{
DPQ dpq;
const int MAXI( 100 );
for( int i( MAXI ); i != 0 ; --i )
{
dpq.push( i );
}
BOOST_CHECK( dpq.checkConsistency() );
int n( 0 );
while( ! dpq.isEmpty() )
{
++n;
BOOST_CHECK_EQUAL( n, dpq.getTop() );
dpq.popTop();
}
BOOST_CHECK_EQUAL( MAXI, n );
BOOST_CHECK( dpq.isEmpty() );
BOOST_CHECK( dpq.checkConsistency() );
}
示例6: testClear
void testClear()
{
DPQ dpq;
dpq.push( 1 );
dpq.push( 20 );
dpq.push( 50 );
BOOST_CHECK_EQUAL( Index( 3 ), dpq.getSize() );
dpq.clear();
BOOST_CHECK( dpq.isEmpty() );
BOOST_CHECK( dpq.checkConsistency() );
dpq.push( 2 );
dpq.push( 20 );
dpq.push( 30 );
BOOST_CHECK_EQUAL( Index( 3 ), dpq.getSize() );
dpq.clear();
BOOST_CHECK( dpq.isEmpty() );
BOOST_CHECK( dpq.checkConsistency() );
}
示例7: testInterleavedSortingWithPops
void testInterleavedSortingWithPops()
{
DPQ dpq;
IndexVector idVector;
const Index MAXI( 101 );
for( int n( MAXI-1 ); n != 0 ; n-=2 )
{
const Index id( dpq.push( n ) );
if( n == 12 || n == 46 )
{
idVector.push_back( id );
}
}
dpq.pop( idVector.back() );
idVector.pop_back();
BOOST_CHECK_EQUAL( MAXI/2 -1, dpq.getSize() );
BOOST_CHECK( dpq.checkConsistency() );
for( int n( MAXI ); n != -1 ; n-=2 )
{
const Index id( dpq.push( n ) );
if( n == 17 || n == 81 )
{
idVector.push_back( id );
}
}
for( typename IndexVector::const_iterator i( idVector.begin() );
i != idVector.end(); ++i )
{
dpq.pop( *i );
}
BOOST_CHECK( dpq.checkConsistency() );
BOOST_CHECK_EQUAL( MAXI-4, dpq.getSize() );
int n( 0 );
while( ! dpq.isEmpty() )
{
++n;
if( n == 12 || n == 46 || n == 17 || n == 81 )
{
continue;
}
BOOST_CHECK_EQUAL( n, dpq.getTop() );
dpq.popTop();
}
BOOST_CHECK_EQUAL( MAXI, Index( n ) );
BOOST_CHECK( dpq.isEmpty() );
BOOST_CHECK( dpq.checkConsistency() );
}
示例8:
BOOST_AUTO_TEST_CASE_TEMPLATE( testConstruction, DPQ, both )
{
DPQ dpq;
BOOST_CHECK( dpq.isEmpty() );
BOOST_CHECK( dpq.check() );
}
示例9: id
BOOST_AUTO_TEST_CASE_TEMPLATE( testReplace6, DPQ, both )
{
DPQ dpq;
dpq.push( 5 );
dpq.push( 4 );
dpq.push( 3 );
const ID id( dpq.push( 1 ) );
BOOST_CHECK( dpq.check() );
BOOST_CHECK_EQUAL( 4, dpq.getSize() );
BOOST_CHECK_EQUAL( 1, dpq.getTop() );
dpq.replace( id, 3 ); // 1->3 top down
BOOST_CHECK( dpq.check() );
BOOST_CHECK_EQUAL( 4, dpq.getSize() );
BOOST_CHECK_EQUAL( 3, dpq.getTop() );
dpq.popTop();
BOOST_CHECK_EQUAL( 3, dpq.getTop() );
dpq.popTop();
BOOST_CHECK_EQUAL( 4, dpq.getTop() );
dpq.popTop();
BOOST_CHECK_EQUAL( 5, dpq.getTop() );
dpq.popTop();
BOOST_CHECK( dpq.isEmpty() );
BOOST_CHECK( dpq.check() );
}
示例10: testConstruction
void testConstruction()
{
DPQ dpq;
BOOST_CHECK( dpq.isEmpty() );
BOOST_CHECK( dpq.checkConsistency() );
}
示例11: testReplace
void testReplace()
{
DPQ dpq;
dpq.push( 5 );
const Index id( dpq.push( 4 ) );
dpq.push( 3 );
dpq.push( 1 );
BOOST_CHECK_EQUAL( 1, dpq.getTop() );
dpq.replace( id, 2 ); // 4->2
BOOST_CHECK( dpq.checkConsistency() );
BOOST_CHECK_EQUAL( 1, dpq.getTop() );
dpq.popTop();
BOOST_CHECK_EQUAL( 2, dpq.getTop() );
dpq.popTop();
BOOST_CHECK_EQUAL( 3, dpq.getTop() );
dpq.popTop();
BOOST_CHECK_EQUAL( 5, dpq.getTop() );
dpq.popTop();
BOOST_CHECK( dpq.isEmpty() );
BOOST_CHECK( dpq.checkConsistency() );
}
示例12: testReplaceTop
void testReplaceTop()
{
DPQ dpq;
dpq.push( 4 );
dpq.push( 2 );
dpq.push( 1 );
BOOST_CHECK_EQUAL( 1, dpq.getTop() );
dpq.replaceTop( 3 );
BOOST_CHECK( dpq.checkConsistency() );
BOOST_CHECK_EQUAL( 2, dpq.getTop() );
dpq.popTop();
BOOST_CHECK_EQUAL( 3, dpq.getTop() );
dpq.popTop();
BOOST_CHECK_EQUAL( 4, dpq.getTop() );
dpq.popTop();
BOOST_CHECK( dpq.isEmpty() );
BOOST_CHECK( dpq.checkConsistency() );
}
示例13: testSimpleSortingWithPops
void testSimpleSortingWithPops()
{
DPQ dpq;
IndexVector idVector;
const Index MAXI( 100 );
for( int n( MAXI ); n != 0 ; --n )
{
Index id( dpq.push( n ) );
if( n == 11 || n == 45 )
{
idVector.push_back( id );
}
}
BOOST_CHECK( dpq.checkConsistency() );
BOOST_CHECK_EQUAL( MAXI, dpq.getSize() );
for( typename IndexVector::const_iterator i( idVector.begin() );
i != idVector.end(); ++i )
{
dpq.pop( *i );
}
BOOST_CHECK_EQUAL( MAXI - 2, dpq.getSize() );
int n( 0 );
while( ! dpq.isEmpty() )
{
++n;
if( n == 11 || n == 45 )
{
continue; // skip
}
BOOST_CHECK_EQUAL( int( n ), dpq.getTop() );
dpq.popTop();
}
BOOST_CHECK_EQUAL( MAXI, Index( n ) );
BOOST_CHECK( dpq.isEmpty() );
BOOST_CHECK( dpq.checkConsistency() );
}
示例14: testDuplicatedItems
void testDuplicatedItems()
{
DPQ dpq;
dpq.push( 1 );
dpq.push( 2 );
dpq.push( 1 );
dpq.push( 2 );
BOOST_CHECK( dpq.checkConsistency() );
BOOST_CHECK( dpq.getTop() == 1 );
dpq.popTop();
BOOST_CHECK( dpq.getTop() == 1 );
dpq.popTop();
BOOST_CHECK( dpq.getTop() == 2 );
dpq.popTop();
BOOST_CHECK( dpq.getTop() == 2 );
dpq.popTop();
BOOST_CHECK( dpq.isEmpty() );
BOOST_CHECK( dpq.checkConsistency() );
}