Witam. Mam napisać program który łączy dwie listy tak, że tworzy trzecią listę która zawiera na zmianę elementy pierwszej i drugiej listy i nie mam pomysłu jak to zrobić.
#include <iostream>
using namespace std;
// definicje list
struct lista
{
lista *next, *nowa1;
int elementy1;
};
//Dodawanie elementow
void l_push_front(lista * & head, int v)
{
lista * p;
p = new lista;
p->elementy1 = v;
p->next = head;
p->nowa1 = head;
head = p;
}
// Ilosc elementow
unsigned l_size(lista * p)
{
unsigned c = 0;
while(p)
{
c++;
p = p->next;
}
return c;
}
// Wyswietlanie elementow
void l_printl(lista* p)
{
unsigned i;
cout << "Liczba elementow : " << l_size(p) <<"\n"<<endl;
for(i = 1; p; p = p->next)
cout<< p->elementy1 << " ";
cout << endl<<endl;
}
void trzecia(lista * & head)
{
}
int main()
{
lista *lista1 = NULL;
lista *lista2 = NULL;
lista *lista3 = NULL;
int i;
for(i = 10; i > 0; i--)
{
if(i % 2 != 0)
l_push_front(lista1,i);
}
l_printl(lista1);
for(i = 10; i > 0; i--)
{
if(i % 2 == 0)
l_push_front(lista2,i);
}
l_printl(lista2);
return 0;
}