本文整理汇总了C++中DLList::pushFront方法的典型用法代码示例。如果您正苦于以下问题:C++ DLList::pushFront方法的具体用法?C++ DLList::pushFront怎么用?C++ DLList::pushFront使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DLList
的用法示例。
在下文中一共展示了DLList::pushFront方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: processFile
//.........这里部分代码省略.........
case 'D':
//delete the list, set the list pointer to NULL, and output success to the console
delete list;
list = NULL;
cout << "LIST DELETED" << endl;
break;
//if the character is I
case 'I':
//get the integer value that follows the character
ss.str(nextLine.substr(2));
ss >> value;
//insert a Node into the list with the integer value from the input file as contents (ascending order)
list->insert(value);
//output success to the console
cout << "VALUE " << value << " INSERTED" << endl;
//clear the stringstream
ss.clear();
break;
//if the character is F
case 'F':
//get the integer that follows the character
ss.str(nextLine.substr(2));
ss >> value;
//insert a Node at the head pointer with the value from the input file as contents
list->pushFront(value);
//output success to the console
cout << "VALUE " << value << " ADDED TO HEAD" << endl;
//clear the stringstream
ss.clear();
break;
//if the character is B
case 'B':
//get the integer that follows the character
ss.str(nextLine.substr(2));
ss >> value;
//insert a Node at the tail pointer with the value from the input file as contents
list->pushBack(value);
//output success to the console
cout << "VALUE " << value << " ADDED TO TAIL" << endl;
//clear the stringstream
ss.clear();
break;
//if the character is A
case 'A':
//attempt to output the value of the Node a the head pointer to the console
try {
//output success to the console
示例2: 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)";
}
//.........这里部分代码省略.........
示例3: main
//.........这里部分代码省略.........
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;
intList->pushFront(value);
}
else if(operation == 'B'){
cout << "VALUE " << value << " ADDED TO TAIL" << endl;
intList->pushBack(value);
}
else if(operation == 'E'){
if(intList->removeAll(value)){
cout << "VALUE " << value << " ELIMINATED" << endl;
}
else{
cout << "VALUE " << value << " NOT FOUND" << endl;
}
}
else if(operation == 'R'){
if(intList->removeFirst(value)){
cout << "VALUE " << value << " REMOVED" << endl;
}
else{
cout << "VALUE " << value << " NOT FOUND" << endl;
}
}
else if(operation == 'G'){
if(intList->get(value)){
cout << "VALUE " << value << " FOUND" << endl;
}
else{
cout << "VALUE " << value << " NOT FOUND" << endl;
}
}
}
}
}
}
if(intList != NULL){
delete intList;
intList = NULL;
}
fileIn.close();
}
return 0;
}
示例4: 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;
}
//.........这里部分代码省略.........
示例5: 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){
//.........这里部分代码省略.........
示例6: main
int main(int argc, char* argv[]) {
DLList* list;
stringstream ss;
string strValue;
int intValue;
if (argc != 2) {
cout << "USAGE: " << argv[0] << " FILENAME" << endl;
} else {
string currentLine;
char input;
cout << "PROCESSING FILE: " << argv[1] << endl;
ifstream theFile(argv[1]);
if (theFile.good()) {
while (getline(theFile, currentLine)) {
ss.clear();
intValue = 0;
strValue = "";
bool activeList = false;
input = currentLine.at(0);
switch (input) {
case 'C':
if (activeList == false)
list = new DLList;
else if (activeList == true) {
delete list;
list = new DLList;
}
activeList = true;
cout << "LIST CREATED" << endl;
break;
case 'X':
list->clear();
cout << "LIST CLEARED" << endl;
break;
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;
//.........这里部分代码省略.........
示例7: main
//.........这里部分代码省略.........
assert(1 == a.getData().getValue());
assert(3 == b.getData().getValue());
assert(a.getData() < b.getData());
assert(b.getData() > a.getData());
assert(b.getData() >= a.getData());
assert(a.getData() <= b.getData());
assert(a.getData() != b.getData());
assert(! (a.getData() >= b.getData()));
assert(! (a.getData() > b.getData()));
}
// }}}
// {{{ DLNode, BoolThing
{
DLNode<BoolThing> x(true);
assert(true == x.getData().getValue());
x.setData(false);
assert(! x.getData().getValue());
}
// }}}
// {{{ DLList, push pop
{
DLList<int> dl1;
assert(0 == dl1.getNodeCount());
for (int i = 0; i < 10; i++) {
dl1.pushFront(i);
dl1.pushBack(i+20);
}
assert(20 == dl1.getNodeCount());
for (int i = 0; i < 10; i++) {
dl1.popBack();
dl1.popFront();
}
assert(0 == dl1.getNodeCount());
// Nothing should happen when popping an empty list.
for (int i = 0; i < 10; i++) {
dl1.popBack();
dl1.popFront();
}
assert(0 == dl1.getNodeCount());
}
// }}}
// {{{ DLList, clear
{
DLList<int> dl1;
assert(0 == dl1.getNodeCount());
for (int i = 0; i < 10; i++) {
dl1.pushFront(i);
dl1.pushBack(i+20);
}
assert(20 == dl1.getNodeCount());