本文整理汇总了C++中SortedList::remove方法的典型用法代码示例。如果您正苦于以下问题:C++ SortedList::remove方法的具体用法?C++ SortedList::remove怎么用?C++ SortedList::remove使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SortedList
的用法示例。
在下文中一共展示了SortedList::remove方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: buildHuffTree
void RosettaCodeProvider::buildHuffTree()
{
//build Node list from HuffCodeTable, no need to sort (already done on get call)
SortedList<HuffNode*> nodeList;
int i = 0;
HuffData* iterate = _huffCodeTable->get(i);
while(iterate != nullptr){
++i;
nodeList.addWithoutSort(new HuffNode(iterate));
iterate = _huffCodeTable->get(i);
}
//merge nodes together
while(nodeList.size() >= 2){
HuffNode* one = nodeList.remove(0);
HuffNode* two = nodeList.remove(0);
unsigned sum = one->getFrequency() + two->getFrequency();
HuffNode* three = new HuffNode(sum);
if(*one < *two){
three->_leftChild = one;
three->_rightChild = two;
}else{
three->_leftChild = two;
three->_rightChild = one;
}
nodeList.addWithSort(three);
}
if(nodeList.size() == 0){
//something went wrong
//nothing in codeTable to start with?
return;
}
if(nodeList.size() == 1){
_huffTree = new HuffTree(nodeList.remove(0));
}
}
示例2: main
//.........这里部分代码省略.........
int myArgc = myArgv.size();
//main method
if (myArgc == 1)
{
if (myArgv[0] == "-h")
{
cout << HELP;
}
else if (myArgv[0] == "-s")
{
//show in the screen the number of queues in the list, the total number of palindromes in each queue and their starting letter
cout << list.toString() << endl;
}
else if (myArgv[0] == "-k")
{
int i = 0;
cout << "(-q to exit)" << endl;
do
{
cout << "(" << i << ") "; i++;
getline(cin, original, '\n');
input = rmSpace(original);
if (isPalindrome(input))
{
//insert original in the list
list.insert(original);
cout << "Palindrome inserted!" << endl;
}
else
if (original!="-q")
cout << "This is not palindrome, then not inserted!" << endl;
}
while(original!="-q");
}
else
{
if (myArgv[0] != "-q")
{
cout << "Paremeter unknown " << myArgv[0] << endl;
}
}
}
else if (myArgc == 2)
{
if (myArgv[0] == "-f")
{
int cont0 = 0, cont1 = 0;
ifstream inputFile (myArgv[1]);
if(inputFile.is_open())
{
string tmp;
while(getline(inputFile, tmp))
{
input = rmSpace(tmp);
if (isPalindrome(input))
{
//insert tmp in the list
list.insert(tmp);
cont1++;
}
else
cont0++;
}
cout << cont1 << " palindromes inserted." << endl;
cout << cont0 << " sentences that are not palindrome, not inserted." << endl;
}
else
{
//filename does not exists
cout << "The file couldn't be opened, maybe doesn't exists :(\n";
}
}
else if (myArgv[0] == "-d")
{
//delete the node of the leter passed in parameter
if (myArgv[1].length() == 1)
if(list.remove(myArgv[1].front()))
cout << "Removed!" << endl;
else
cout<< "Node does not exists!" << endl;
else
cout << "just one char pleaaaaaase :)" << endl;
}
else
{
cout << "Paremeter unknown " << myArgv[0] << endl;
}
}
else if (myArgc > 2)
{
cout << "There's way too much arguments :')\n";
}
}
while(command != "-q");
}