Нужна помощь с выполнением задания: Создать класс-однонаправленный список с элементами типа char. Перегрузить операции: объединение списков,доступ к элементу по номеру,проверка на равенство. Конкретно с первым "Объединение списка" у меня проблема. Остальное я реализовал.
#include "stdafx.h"
#include "iostream"
using namespace std;
class Element{
public:
char data;
Element *next;
Element(){
next = NULL;
}
};
class Spisok{
private:
Element *head;
int size;
public:
Spisok(){
head = new Element();
head->data = NULL;
size = 0;
}
void AddToStart(char d){
if (head->data == NULL){
head->data = d;
size++;
}
else{
Element * temp = new Element();
temp->data = d;
temp->next = head;
head = temp;
size++;
}
}
void AddToStart(Element *el){
if (head->data == NULL){
head->data = el->data;
size++;;
}
else{
Element * temp = new Element();
temp->data = el->data;
temp->next = head;
head = temp;
size++;
}
}
Element * Get(int n){
if (n < size){
if (n == 0){
Element * temp = head;
return temp;
}
else{
Element * temp = head->next;
for (int i = 1; i < n; i++){
temp = temp->next;
}
return temp;
}
}
else{
return NULL;
}
}
void getn(int i){
Element *temp1;
temp1 = Get(i);
cout << temp1->data <<endl;
}
bool Ravenstvo(Spisok * spis2){
Element *temp1, *temp2;
for (int i = 0; i < size; i++){
temp1 = Get(i);
temp2 = spis2->Get(i);
if (temp1->data != temp2->data){
return false;
}
}
return true;
}
void Show(){
Element * temp = head;
while (temp != NULL){
cout << temp->data << " ";
temp = temp->next;
}
cout << endl;
}
};
int main(){
cout << "1-st spisok" << endl;
Spisok *spis1 = new Spisok();
spis1->AddToStart('a');
spis1->AddToStart('b');
spis1->AddToStart('c');
spis1->Show();
spis1->getn(0);
spis1->DelFromStart();
spis1->Show();
cout << "2-nd spisok" << endl;
Spisok *spis2 = new Spisok();
Element * el1 = new Element();
el1->data = 'd';
Element * el2 = new Element();
el2->data = 'e';
Element * el3 = new Element();
el3->data = 'f';
spis2->AddToStart(el1);
spis2->AddToStart(el2);
spis2->AddToStart(el3);
spis2->Show();
system("pause");
return 0;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как вместо вывода самого короткого слова произвести его удаление из in и вывести остальное в out?
Как реализовать сравнение двух переменных, чтобы получить значение типа bool, говорящее, равны они или нетЧто надо изменять? Написал вроде...
У меня есть класс для значений давленийВ приведенном ниже коде вылезает ошибка: