我有输出:
节点 1:鲍勃·乔·吉尔 Jeff Jill
但我希望它在一个名称重复的地方被发送到单链表的前面,所以它会变成
节点 1:吉尔鲍勃乔杰夫
而且我无法实现这一点。
这是我的代码:
string employers[] = {"Jill", "Jeff", "Bob", "Joe", "Monica", "Luis"};
struct node {
node(string name="") {data=name; next=NULL; }
string data;
node *next;
node *prev;
};
class list {
public:
list(int N=0, int value=0);
~list();
void put(int);
friend ostream & operator << (ostream &, const list &);
private:
int N;
node *head;
};
void list::put(int i) {
string employee_name = employers[i];
node * p = new node(g);
node * pp = head;
while (pp - > next) {
pp = pp - > next;
for (int b=6; b<6; b++) {
if (p-> data == names[b]
cout << "found";
}
pp - > next = p;
N++;
}
我遇到的困难是,我将如何比较链接列表中的每个条目?我做了一个节点 *prev,但我不完全确定如何比较节点。