我有一些Java和Eclipse的经验,但我是C ++的新手,并且正在尝试自学。如果这是一个简单的问题,或者已经被问到的问题,我很抱歉(虽然我看了一会儿。)我在Windows 8上。
我试图制作一个排序的链表(这相对不重要。)我得到:
Info: Nothing to build for Working.
这是我的代码:
/*
* SortedList class
*/
#include <string>
#include <fstream>
#include<iostream>
#include "SortedList.h"
using namespace std;
//the ListNode Structure
struct ListNode {
string data;
ListNode *next;
};
//the head of the linked list and the pointer nodes
ListNode head;
ListNode *prev, *current;
// insert a string into the list in alphabetical order
//now adds a string to the list and counts the size of the list
int Insert(string s){
//make the new node
ListNode temp;
temp.data = s;
//the node to traverse the list
prev = &head;
current = head.next;
int c = 0;
//traverse the list, then insert the string
while(current != NULL){
prev = current;
current = current->next;
c++;
}
//insert temp into the list
temp.next = prev->next;
prev->next = &temp;
return c;
}
//Return the number of times a given string occurs in the list.
int Lookup(string s){
return 0;
}
//prints the elements of the list to ostream
void Print(ostream &output){
}
int main( int argc, char ** argv ) {
cout << Insert("a") << endl;
cout << Insert("b") << endl;
cout << Insert("d") << endl;
}
这是我的标题:
using namespace std;
#ifndef SORTEDLIST_H_
#define SORTEDLIST_H_
class SortedList {
public:
// constructor
SortedList();
// modifiers
int Insert(string s);
// other operations
int Lookup(string s) const;
void Print(ostream &output) const;
private:
struct ListNode {
string data;
ListNode *next;
};
// pointer to the first node of the list
ListNode head;
ListNode *prev, *current;
};
#endif /* SORTEDLIST_H_ */
非常感谢任何帮助。
答案 0 :(得分:-1)
为什么不使用std :: deque(在头文件中)?它可能具有您正在寻求的所有功能,它经过了全面测试和优化。如果您需要具有更多功能的双端队列,请创建一个继承它的类并添加您需要的功能。查看http://en.cppreference.com/w/cpp/containe并选择最适合您需求的容器。
作为一般建议,如果你需要的东西已经在一些好的和稳定的库(STL,boost,GSL,Armadillo或类似的)中可用,那么更好地使用它而不是自己编写+ debug +优化它。作为一般建议,请将您的精力集中在应用程序独有的代码上,并重用已经完成的工作(但只有经过充分测试,不要使用糟糕的半熟库)。