Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Написание программы расчета процента побед http://www.cyberforum.ru/cpp-beginners/thread644069.html
округление не правильное
C++ Выход из функции, возвращающей значение Всем привет! Если функция не возвращает значение выхожу с помощью return, а как быть если надо выйти из функции, которая возвращает значение, не возвращая ничего в место вызова. Заранее спасибо! http://www.cyberforum.ru/cpp-beginners/thread644065.html
C++ что использовать std::cout или просто using namespace std?
Приветствую! Сейчас учу С++, постигаю азы так сказать. В арсенале две книги - Джефф Кент, "Основы программирования " и Х.М. Дейтел и П.Дж. Дейтел , "Как программировать на С++" Короче вопрос вот в чем - в первой книге по всех примерах автор пишет примерно так: #include <****>
Перезагрузка операций C++
Класс String описан следующим образом: #include <string.h> #include <conio.h> #include <iostream.h> #include <stdio.h> class String{ private: String(char*str; //строка объекта public: String(char*strl) //конструктор str=new char ; strcpy (str,strl);}
C++ Задача. Указатель this http://www.cyberforum.ru/cpp-beginners/thread643992.html
Пусть класс Maket описан следующим образом: #include <iostream.h> class Maket { private: int m; static int k; public: Maket (int n) {m=n;}
C++ Тема. Полиморфизм. Задача В программе выполнены следующие описания: class A { protected: int a; public: A(int ax) {x=ax;} virtual void print() {cout << a << ' ' ' ';} }; class B: public A{ подробнее

Показать сообщение отдельно
Uz
0 / 0 / 0
Регистрация: 05.07.2012
Сообщений: 22
29.08.2012, 16:15     Сравнение элементов двух однонаправленных линейных списков
А как сравнить элементы двух списков? Чтобы при совпадении элементов счётчик прибавлял единичку? Если список вот так задан:
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;
}
Заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru