本文整理汇总了C++中SList::getCost方法的典型用法代码示例。如果您正苦于以下问题:C++ SList::getCost方法的具体用法?C++ SList::getCost怎么用?C++ SList::getCost使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SList
的用法示例。
在下文中一共展示了SList::getCost方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main() {
SList<int> *intList = new SList<int>;
delete intList;
SList<string> facultyList;
facultyList.insert("unknown");
facultyList.insert("erdly");
facultyList.insert("sung");
facultyList.insert("olson");
facultyList.insert("zander");
facultyList.insert("berger");
facultyList.insert("cioch");
facultyList.insert("fukuda");
facultyList.insert("stiber");
facultyList.insert("jackels");
cout << "#faculty members: " << facultyList.size() << endl;
facultyList.show();
cout << endl;
cout << "deleting unknown" << endl;
facultyList.remove("unknown");
cout << "#faculty members: " << facultyList.size() << endl;
facultyList.show();
cout << endl;
cout << "finding stiber = " << facultyList.find("stiber") << endl;
cout << endl;
cout << "create another list" << endl;
SList<string> studentList = facultyList;
cout << "finding stiber = " << facultyList.find("stiber") << endl;
cout << "#faculty members: " << facultyList.size() << endl;
cout << endl;
cout << "cost of find = " << facultyList.getCost() << endl;
}
示例2: main
int main( int argc, char* argv[] ) {
// verify argument
if ( argc != 2 ) {
cerr << "usage: statistics size" << endl;
return -1;
}
// verify size
int size = atoi( argv[1] );
if ( size < PATTERN_MAX ) {
cerr << "usage: size >= " << PATTERN_MAX << endl;
return -1;
}
// initialize list items
srand( 1 );
int *items = new int[size];
initArray( items, size, -1 );
printArray( items, size, "items" );
// initialize access pattern
int *pattern = new int[PATTERN_MAX];
initArray( pattern, PATTERN_MAX, size );
printArray( pattern, PATTERN_MAX, "pattern" );
// initialize pattern frequency
int *frequency = new int[PATTERN_MAX];
for ( int i = 1; i < PATTERN_MAX; i++ )
frequency[i] = i + frequency[i - 1];
printArray( frequency, PATTERN_MAX, "frequency" );
// generate access sequence
int *sequence = new int[SEQ_MAX];
for ( int i = 0; i < SEQ_MAX; i++ ) {
int random = rand( ) % ( frequency[PATTERN_MAX - 1] + 1 );
int hit;
for ( hit = 0; hit < PATTERN_MAX; hit++ ) {
if ( random <= frequency[hit] ) {
break;
}
}
sequence[i] = items[pattern[hit]];
}
printArray( sequence, SEQ_MAX, "sequence" );
// now conduct performance evaluation
// doubly linked list
DList<int> dlist;
for ( int i = 0; i < size; i++ )
dlist.insert( items[i], i );
for ( int i = 0; i < SEQ_MAX; i++ )
dlist.find( sequence[i] );
cout << "dlist's find cost = " << dlist.getCost( ) << endl;
// mtf list
MtfList<int> mtflist;
for ( int i = 0; i < size; i++ )
mtflist.insert( items[i], i );
for ( int i = 0; i < SEQ_MAX; i++ )
mtflist.find( sequence[i] );
cout << "mtflist's find cost = " << mtflist.getCost( ) << endl;
// transpose list
TransposeList<int> translist;
for ( int i = 0; i < size; i++ )
translist.insert( items[i], i );
for ( int i = 0; i < SEQ_MAX; i++ )
translist.find( sequence[i] );
cout << "translist's find cost = " << translist.getCost( ) << endl;
// skip list
SList<int> skiplist;
for ( int i = 0; i < size; i++ )
skiplist.insert( items[i] );
for ( int i = 0; i < SEQ_MAX; i++ )
skiplist.find( sequence[i] );
cout << "skip's find cost = " << skiplist.getCost( ) << endl;
return 0;
}