本文整理汇总了C++中DLList::getSize方法的典型用法代码示例。如果您正苦于以下问题:C++ DLList::getSize方法的具体用法?C++ DLList::getSize怎么用?C++ DLList::getSize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DLList
的用法示例。
在下文中一共展示了DLList::getSize方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: unittest2
void unittest2 ()
{
cout << "\nSTARTING UNIT TEST\n\n";
DLList list;
try {
evaluate(list.getSize() == 0);
cout << "Passed TEST 1: default constructor (size) \n";
} catch (MyException e) {
cout << "# FAILED TEST 1: default constructor (size) #\n";
}
try {
evaluate(list.toString() == "");
cout << "Passed TEST 2: toString \n";
} catch (MyException e) {
cout << "# FAILED TEST 2: toString #\n";
}
list.insert(10);
try {
evaluate(list.getSize() == 1 && list.toString() == "10");
cout << "Passed TEST 3: insert(10)/getSize/toString \n";
} catch (MyException e) {
cout << "# FAILED TEST 3: insert(10)/getSize/toString #\n";
}
list.insert(50);
try {
evaluate(list.getSize() == 2 && list.toString() == "10,50");
cout << "Passed TEST 4: insert(50)/getSize/toString \n";
} catch (MyException e) {
cout << "# FAILED TEST 4: insert(50)/getSize/toString #\n";
}
list.insert(30);
try {
evaluate(list.getSize() == 3 && list.toString() == "10,30,50");
cout << "Passed TEST 5: insert(30)/getSize/toString \n";
} catch (MyException e) {
cout << "# FAILED TEST 5: insert(30)/getSize/toString #\n";
}
list.insert(5);
try {
evaluate(list.getSize() == 4 && list.toString() == "5,10,30,50");
cout << "Passed TEST 6: insert(5)/getSize/toString \n";
} catch (MyException e) {
cout << "# FAILED TEST 6: insert(5)/getSize/toString #\n";
}
list.insert(55);
try {
evaluate(list.getSize() == 5 && list.toString() == "5,10,30,50,55");
cout << "Passed TEST 7: insert(55)/getSize/toString \n";
} catch (MyException e) {
cout << "# FAILED TEST 7: insert(55)/getSize/toString #\n";
}
list.insert(20);
try {
evaluate(list.getSize() == 6 && list.toString() == "5,10,20,30,50,55");
cout << "Passed TEST 8: insert(20)/getSize/toString \n";
} catch (MyException e) {
cout << "# FAILED TEST 8: insert(20)/getSize/toString #\n";
}
list.insert(40);
try {
evaluate(list.getSize() == 7 && list.toString() == "5,10,20,30,40,50,55");
cout << "Passed TEST 9: insert(40)/getSize/toString \n";
} catch (MyException e) {
cout << "# FAILED TEST 9: insert(40)/getSize/toString #\n";
}
list.insert(30);
try {
evaluate(list.getSize() == 8 && list.toString() == "5,10,20,30,30,40,50,55");
cout << "Passed TEST 10: insert(30)/getSize/toString \n";
} catch (MyException e) {
cout << "# FAILED TEST 10: insert(30)/getSize/toString #\n";
}
list.insert(5);
try {
evaluate(list.getSize() == 9 && list.toString() == "5,5,10,20,30,30,40,50,55");
cout << "Passed TEST 11: insert(5)/getSize/toString \n";
} catch (MyException e) {
cout << "# FAILED TEST 11: insert(5)/getSize/toString #\n";
}
try {
evaluate(list.removeFirst(1) == false);
cout << "Passed TEST 12: removeFirst(1) \n";
} catch (MyException e) {
cout << "# FAILED TEST 12: removeFirst(1) #\n";
}
try {
//.........这里部分代码省略.........
示例2: processFile
//.........这里部分代码省略.........
//output success to the console
cout << "VALUE " << list->getFront() << " AT HEAD" << endl;
//if the attempt is unsuccessful (head is NULL)
} catch (string err) {
//output failure to the console
cout << err << endl;
}
break;
//if the character is Z
case 'Z':
//attempt to output the value of the Node at the tail pointer to the console
try {
//output success to the console
cout << "VALUE " << list->getBack() << " AT TAIL" << endl;
//if the attempt is unsuccessful (tail is NULL)
} catch (string err) {
//output failure to the console
cout << err << endl;
}
break;
//if the character is T
case 'T':
//if the list is empty
if (list->getSize() < 1) {
//output failure to the console
cout << "LIST EMPTY" << endl;
} else {
//remove the Node at the head pointer and output success to the console
list->popFront();
cout << "REMOVED HEAD" << endl;
}
break;
//if the character is K
case 'K':
//if the list is empty
if (list->getSize() < 1) {
//output failure to the console
cout << "LIST EMPTY" << endl;
} else {
//remove the Node at the tail pointer and output success to the console
list->popBack();
cout << "REMOVED TAIL" << endl;
}
break;
//if the character is E
case 'E':
示例3: unittest
void unittest ()
{
cout << "\n STARTING UNIT TEST!!!!!\n\n";
DLList list;
DLList list1;
DLList list2;
try {
evaluate (list.getFront() == 0);
cout << "Passed TEST 1: getFront '0' pushFront/getFront";
} catch (MyException e) {
cout << "#" << e.message << " TEST 1: getFront";
}
cout << endl;
try {
evaluate (list.getSize() == 0);
cout << "Passed TEST 2: getSize '0' ";
} catch (MyException e) {
cout << "#" << e.message << " TEST 2: getSize";
}
cout << endl;
try {
evaluate (list.getBack() == 0);
cout << "Passed TEST 3: getBack '0' ";
} catch (MyException e) {
cout << "#" << e.message << " TEST 3: getBack";
}
cout << "\n\n FINISHED TESTING EMPTY LISTS!!!!!\n\n";
list.pushFront(20);
list.pushBack(5);
list1.pushFront(63);
list1.pushBack(12);
list2.pushFront(14);
list2.pushBack(99);
list.insert(44);
list1.insert(87);
list2.insert(56);
try {
evaluate (list.getFront() == 20);
cout << "Passed TEST 4: getFront '20' pushFront/getFront ";
} catch (MyException e) {
cout << "#" << e.message << " TEST 4: getFront '20' pushFront/getFront";
}
cout << endl;
try {
evaluate (list1.getFront() == 63);
cout << "Passed TEST 5: getFront '63' pushFront/getFront";
} catch (MyException e) {
cout << "#" << e.message << " TEST 5: getFront '63' pushFront/getFront";
}
cout << endl;
cout << list2.getFront() << endl;
try {
evaluate (list2.getFront() == 14);
cout << "Passed TEST 6: getFront '14' pushFront/getFront";
} catch (MyException e) {
cout << "#" << e.message << " TEST 6: getFront '14' pushFront/getFront";
}
cout << endl;
try {
evaluate (list.getBack() == 5);
cout << "Passed TEST 7: getBack '5' pushBack/getBack";
} catch (MyException e) {
cout << "#" << e.message << " TEST 7: getBack '5' pushBack/getBack";
}
cout << endl;
try {
evaluate (list1.getBack() == 12);
cout << "Passed TEST 8: getBack '12' pushBack/getBack";
} catch (MyException e) {
cout << "#" << e.message << " TEST 8: getBack '12' pushBack/getBack";
}
cout << endl;
try {
evaluate (list2.getBack() == 99);
cout << "Passed TEST 9: getBack '99' pushBack/getBack";
} catch (MyException e) {
cout << "#" << e.message << " TEST 9: getBack '99' pushBack/getBack";
}
cout << endl;
cout << "\n FINISHED TESTING push/get-Back/Front!!!!!\n\n";
try {
evaluate (list.get(20) == true);
cout << "Passed TEST 10: get '20' get(target)";
} catch (MyException e) {
cout << "#" << e.message << " TEST 10: get '20' get(target)";
}
//.........这里部分代码省略.........
示例4: main
int main(int argc, char *argv[])
{
if(argc <= 1){
cout << "Error: No command-line argument." << endl;
}
else{
DLList<int> *intList = NULL;
ifstream fileIn(argv[1]);
if(!fileIn.good()){
cout << "Error: File could not be opened." << endl;
}
else{
string line;
while(getline(fileIn, line)){
char operation = line[0];
//cout << operation << " : ";
if(operation == '#'){
//cout << "COMMENT" << endl;
}
else if(operation == 'C'){
cout << "LIST CREATED" << endl;
if(intList != NULL){
delete intList;
}
intList = new DLList<int>;
}
else if(intList == NULL){
cout << "MUST CREATE LIST INSTANCE" << endl;
}
else{
if(operation == 'X'){
cout << "LIST CLEARED" << endl;
intList->clear();
}
else if(operation == 'D'){
cout << "LIST DELETED" << endl;
delete intList;
intList = NULL;
}
else if(operation == 'A'){
try{
cout << "VALUE " << intList->getFront() << " AT HEAD" << endl;
}
catch (string e){
cout << e << endl;
}
}
else if(operation == 'Z'){
try{
cout << "VALUE " << intList->getBack() << " AT TAIL" << endl;
}
catch (string e){
cout << e << endl;
}
}
else if(operation == 'T'){
if(intList->getSize() > 0){
intList->popFront();
cout << "REMOVED HEAD" << endl;
}
else{
cout << "LIST EMPTY" << endl;
}
}
else if(operation == 'K'){
if(intList->getSize() > 0){
intList->popBack();
cout << "REMOVED TAIL" << endl;
}
else{
cout << "LIST EMPTY" << endl;
}
}
else if(operation == 'N'){
cout << "LIST SIZE IS " << intList->getSize() << endl;
}
else if(operation == 'P'){
if(intList->getSize() > 0){
cout << *intList << endl;
}
else{
cout << "LIST EMPTY" << endl;
}
}
else{
string str = line.substr(2);
stringstream ss(str);
int value = 0;
ss >> value;
if(operation == 'I'){
cout << "VALUE " << value << " INSERTED" << endl;
intList->insert(value);
}
else if(operation == 'F'){
cout << "VALUE " << value << " ADDED TO HEAD" << endl;
//.........这里部分代码省略.........
示例5: processFile
void processFile(string filename) {
ifstream inputstream;
DLList *list = NULL;
inputstream.open(filename.c_str());
if (inputstream.fail()) {
cout << "Unable to open " << filename << " for processing." << endl;
} else {
string nextline;
while (! inputstream.eof()) {
stringstream ss;
int value = 0;
getline(inputstream, nextline);
char firstCharacter = nextline[0];
switch (toupper(firstCharacter)) {
case 'C':
if (list != NULL) {
delete list;
}
list = new DLList;
cout << "LIST CREATED" << endl;
break;
case 'T':
if (list == NULL) {
cout << "MUST CREATE LIST INSTANCE" << endl;
} else if (list->getSize() > 0) {
list->popFront();
cout << "REMOVED HEAD" << endl;
} else {
cout << "LIST EMPTY" << endl;
}
break;
case 'I':
if (list == NULL) {
cout << "MUST CREATE LIST INSTANCE" << endl;
} else {
ss.str(nextline.substr(2));
ss >> value;
list->insert(value);
cout << "VALUE " << value << " INSERTED" << endl;
}
break;
case 'P':
if (list == NULL) {
cout << "MUST CREATE LIST INSTANCE" << endl;
} else if (list->getSize() > 0) {
cout << (*list) << endl;
} else {
cout << "LIST EMPTY" << endl;
}
break;
case 'X':
if (list == NULL) {
cout << "MUST CREATE LIST INSTANCE" << endl;
} else {
list->clear();
cout << "LIST CLEARED" << endl;
}
break;
case 'D':
if (list == NULL) {
cout << "MUST CREATE LIST INSTANCE" << endl;
} else {
delete list;
list = NULL;
cout << "LIST DELETED" << endl;
}
break;
case 'F':
if (list == NULL) {
cout << "MUST CREATE LIST INSTANCE" << endl;
} else {
ss.str(nextline.substr(2));
ss >> value;
list->pushFront(value);
cout << "VALUE " << value << " ADDED TO HEAD" << endl;
}
break;
case 'B':
if (list == NULL) {
cout << "MUST CREATE LIST INSTANCE" << endl;
} else {
ss.str(nextline.substr(2));
ss >> value;
list->pushBack(value);
cout << "VALUE " << value << " ADDED TO TAIL" << endl;
}
break;
case 'A':
if (list == NULL) {
cout << "MUST CREATE LIST INSTANCE" << endl;
} else {
try {
cout << "VALUE " << list->getFront() << " AT HEAD" << endl;
} catch (string e) {
cout << e << endl;
}
//.........这里部分代码省略.........
示例6: run_project3
void run_project3(string filename){
ifstream myfile(filename.c_str());
if (myfile.is_open()){
string line;
string charLetter;
bool doesListExist = false;
DLList* list;
while (getline(myfile,line)){
charLetter = line.at(0);
line.erase(0,1);
int newNumber = 0;
stringstream converter(line);
converter >> newNumber;
//creating a list.
if(charLetter == "C"){
if(doesListExist == false){
list = new DLList;
}
else if (doesListExist == true){
delete list;
list = new DLList;
}
cout << "LIST CREATED" << endl;
doesListExist = true;
}
//clear the list if there is a list.
if(charLetter == "X" && doesListExist == true){
list->clear();
cout << "LIST CLEARED" << endl;
}
//delete the list if there is a list.
if(charLetter == "D" && doesListExist == true){
delete list;
list = NULL;
cout << "LIST DELETED" << endl;
doesListExist = false;
}
//insert a newNumber into the list if there is list.
if(charLetter == "I" && doesListExist == true){
list->insert(newNumber);
cout << "VALUE " << newNumber << " INSERTED" << endl;
}
//add a newNumber into the front of the list if there is list.
if(charLetter == "F" && doesListExist == true){
list->pushFront(newNumber);
cout << "VALUE " << newNumber << " ADDED TO HEAD" << endl;
}
//insert a newNumber into the back of the list if there is list.
if(charLetter == "B" && doesListExist == true){
list->pushBack(newNumber);
cout << "VALUE " << newNumber << " ADDED TO TAIL" << endl;
}
//get the first element in the list if there is list.
if(charLetter == "A" && doesListExist == true){
try{
btassert<bool>(list->getSize() != 0);
cout << "VALUE " << list->getFront() << " AT HEAD" << endl;
}
catch (bool b){
cout << "LIST EMPTY" << endl;
}
}
//get the last element in the list if there is list.
if(charLetter == "Z" && doesListExist == true){
try{
btassert<bool>(list->getSize() != 0);
cout << "VALUE " << list->getBack() << " AT TAIL" << endl;
}
catch (bool b){
cout << "LIST EMPTY" << endl;
}
}
//remove element from front of the list if there is a list.
if(charLetter == "T" && doesListExist == true){
if(list->getSize() == 0){
cout << "LIST EMPTY" << endl;
}
else{
list->popFront();
cout << "REMOVED HEAD" << endl;
}
}
//remove element from back of the list if there is a list.
if(charLetter == "K" && doesListExist == true){
//.........这里部分代码省略.........
示例7: main
//.........这里部分代码省略.........
case 'D':
delete list;
list = NULL;
cout << "LIST DELETED" << endl;
break;
case 'I':
strValue = currentLine.substr(2);
ss << strValue;
ss >> intValue;
cout << "VALUE " << intValue << " INSERTED" << endl;
list->insert(intValue);
break;
case 'F':
strValue = currentLine.substr(2);
ss << strValue;
ss >> intValue;
cout << "VALUE " << intValue << " ADDED TO HEAD" << endl;
list->pushFront(intValue);
break;
case 'B':
strValue = currentLine.substr(2);
ss << strValue;
ss >> intValue;
cout << "VALUE " << intValue << " ADDED TO TAIL" << endl;
list->pushBack(intValue);
break;
case 'A':
cout << "VALUE " << list->getFront() << " AT HEAD" << endl;
break;
case 'Z':
cout << "VALUE " << list->getBack() << " AT TAIL" << endl;
break;
case 'T':
list->popFront();
cout << "REMOVED HEAD" << endl;
break;
case 'K':
list->popBack();
cout << "REMOVED TAIL" << endl;
break;
case 'E':
strValue = currentLine.substr(2);
ss << strValue;
ss >> intValue;
if (list->removeAll(intValue))
cout << "VALUE " << intValue << " ELIMINATED" << endl;
else
cout << "VALUE " << intValue << " NOT FOUND" << endl;
break;
case 'G':
strValue = currentLine.substr(2);
ss << strValue;
ss >> intValue;
if (list->get(intValue))
cout << "VALUE " << intValue << " FOUND" << endl;
else
cout << "VALUE " << intValue << " NOT FOUND" << endl;
break;
case 'P':
cout << list->toString() << endl;
break;
case 'N':
cout << "LIST SIZE IS " << list->getSize() << endl;
break;
case 'R':
strValue = currentLine.substr(2);
ss << strValue;
ss >> intValue;
if (list->removeFirst(intValue))
cout << "VALUE " << intValue << " REMOVED" << endl;
else
cout << "VALUE " << intValue << " NOT FOUND" << endl;
break;
default:
cout << "UNKNOWN COMMAND" << endl;
break;
}
}
}
theFile.close();
}
return 0;
}
示例8: processFile
void processFile (string filename) {
stringstream ss;
int value = 0;
DLList* list = NULL;
char firstCharacter;
ifstream fin(filename.c_str());
if(!fin.fail()) {
string nextline;
while(!fin.eof()) {
getline(fin, nextline);
firstCharacter = nextline[0];
switch(firstCharacter) {
case '#':
break;
case 'C':
if(list != NULL) { //if there was a previous list delete it
delete list;
}
else {
//creates a new list of type DLList
list = new DLList();
cout << "LIST CREATED" << endl;
}
break;
case 'X':
//if no list was created yet create list first
if(list == NULL) {
cout << "MUST CREAT LIST INSTANCE" << endl;
} //if there was a list clear it with the clear function
else {
list->clear();
cout << "LIST CLEARED" << endl;
}
break;
case 'D':
//if there is a list deleted it
if(list!= NULL) {
delete list;
cout << "LIST DELETED" << endl;
}//if there isn't show warning
else
cout << "MUST CREAT LIST INSTANCE" << endl;
break;
case 'I':
if(list == NULL) {
cout << "MUST CREAT LIST INSTANCE" << endl;
}
else {
ss.str(nextline.substr(2));//gets the next whole value after the first value on a line
ss >> value;//puts the from input into an int
list->insert(value);//inserts the value into a node on the list
cout << "VALUE " << value << " INSERTED" << endl;
ss.clear();
ss.str("");
}
break;
case 'F':
ss.str(nextline.substr(2));
ss >> value;
list->insertHead(value);//inserts the value from input into the first node
cout << "VALUE " << value << " ADDED TO HEAD" << endl;
ss.clear();
ss.str("");
break;
case 'B':
ss.str(nextline.substr(2));
ss >> value;
list->insertTail(value);
cout << "VALUE " << value << " ADDED TO TAIL" << endl;
ss.clear();
ss.str("");
break;
case 'A':
if(list == NULL) {
cout << "VALUE NULL AT HEAD" << endl;
}
else {
list->getHead();
cout << "VALUE " << list->getHead() << " AT HEAD" << endl;
}
break;
case 'Z':
list->getTail();
cout << "VALUE " << list->getTail() << " AT TAIL" << endl;
break;
case 'T':
if(list == NULL) {
cout << "MUST CREATE LIST INSTANCE" << endl;
}
else if (list->getSize() > 0) {
list->removeHead();
cout << "REMOVED HEAD" << endl;
}
else {
cout << "LIST EMPTY" << endl;
}
break;
case 'K':
if(list == NULL) {
//.........这里部分代码省略.........