Uz
0 / 0 / 1
Регистрация: 05.07.2012
Сообщений: 23
1

Сравнение элементов двух однонаправленных линейных списков

29.08.2012, 16:15. Показов 5422. Ответов 1
Метки нет (Все метки)

А как сравнить элементы двух списков? Чтобы при совпадении элементов счётчик прибавлял единичку? Если список вот так задан:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <iostream>
#include <conio.h>
#include <fstream> 
using namespace std;
struct Element //Структура с инфополями и адресным полем
{
 int x; //Инфополе. Значения из x будут передаваться в список
 Element *Next; //Адресное поле
};
class Spisok
{
 Element *Head; 
 Element *Tail;
public:
 Spisok():Head(NULL),razmer(0) {}; //Инициализация значений с помощью конструктора
 ~Spisok();
 void Add(int x); 
 void Show();
 int razmer;
 Element* getHead(); // метод для получения указателя на начало списка.  
};
Spisok::~Spisok() //Деструктор 
{
 while (Head!=NULL)  //Пока по адресу не пусто 
    {    
     Element *temp=Head->Next; //Временная переменная для хранения адреса следующего элемента
     delete Head; //Освобождаем адрес, обозначающий начало
     Head=temp; //Меняем адрес на следующий
    }
}
Element* Spisok::getHead()
{
 return Head; // возвращает указатель на начало списка.
}
void Spisok::Add(int x) //Функция добавления элементов в список
{ 
 Element *temp=new Element; //При каждом вызове выделяется память
 if(Head == NULL)
 Head = temp;
 else
 Tail->Next = temp;
 temp->x=x;
 temp->Next = NULL;
 Tail=temp;
 ++razmer;
}
void Spisok::Show()
{
 Element *Temp = Head;
 while(Temp != NULL)
    {
     cout << Temp->x << " ";
     Temp = Temp->Next;
    }
 cout << endl << "Количество элементов в списке равно:" << razmer << endl;
}
Заранее спасибо.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.08.2012, 16:15
Ответы с готовыми решениями:

Реализация алгоритма Рабина-Карпа для двух однонаправленных линейных списков
Здравствуйте! Собственно, вопрос находится в заголовке: у меня описано два списка, надо этим...

Как из двух однонаправленных списков создать третий, который состоит из нечетных элементов предыдущих двух?
ребят,подскажите пожалуйста как из двух однонаправленных списка создать третий который состоит из...

Организовать представление множеств в виде линейных однонаправленных списков
Даны два множества А и В. Организовать представление множеств в виде линейных однонаправленных...

Из двух однонаправленных списков сформировать новый список
Из двух однонаправленных списков сформировать новый список, следующим образом: сначала записать...

1
95 / 747 / 279
Регистрация: 11.04.2012
Сообщений: 971
29.08.2012, 18:48 2
Лучший ответ Сообщение было отмечено SatanaXIII как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int compare(Element* e1, Element* e2)
{
    if (sizeof(e1) != sizeof(e2))
        return -1;
 
    int count = 0;
    while (e1 != NULL && e2 != NULL)
    {
        if (e1->x == e2->x) count++;
        e1 = e1->Next;
        e2 = e2->Next;
    }
}
3
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.08.2012, 18:48

Сравнение двух списков
Доброго всем времени суток. Изначальное задание было вот таким - &quot;написать программу, содержащую...

Обработка линейных однонаправленных списков
Описать процедуру, удаляющую из списка L слова, заканчивающиеся заданной буквой. чем можите

Создание, вывод и обработка линейных однонаправленных списков
Задача описать процедуру: 1)создания динамического линейного списка, выбирая числа из текстового...

Еще раз про сравнение элементов двух списков.
Ребята, помогите решить задачу: Даны два списка одинаковой длины, элементы которых - числа. Найти...

Объединение двух линейных списков
Есть два списка: list1 и list2. Нужна программа, которая объединит их(второй добавит в &quot;хвост&quot;...

Сортировка слиянием двух линейных списков
Помогите с задачей , гуглю сколько немного не доходит как настряпать код . Нужно сортировать два...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.