У меня есть из положить:Как поменять индекс для связанного списка C++
узел 1: Боб Джо Джилл Джефф Джилл
, но я хочу его туда, где, если имя повторы, что получает отправлен на фронт в односвязный список, так что он стал бы
узел 1: Jill Боб Джо Джефф
И у меня возникли проблемы с возможностью реализовать это.
Вот мой код:
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, но я не совсем уверен, как я могу сравнить узлы.
Переведите список и используйте оператор сравнения ('operator ==') для сравнения строк узлов. В чем проблема? – Manu343726
Как я могу узнать, что Джилл, например, уже была добавлена? Я новичок в кодировании. Извините:/ –
Извините за мой комментарий: вы можете использовать оператор сравнения, чтобы проверить его на две вещи (строки в этом случае) равны. Например: 'if (one_string == other_string) std :: cout <<" Строки равны! ";'. Так сделайте это с каждым элементом вашего списка, чтобы проверить, существует ли новая строка в списке. – Manu343726