aa
Hugo: sortowanie listy ktos pomoze

? c++
13 mar 13:25
Dziadek Mróz:
No dawaj, pokaż co masz
13 mar 13:28
Hugo:
1)
mamy
Head −> 1 −> 2 −> 3
a ma nam wypisac
Head −> 1 −> 2−> 3 −>3 −> 2 −> 1 −> 1 −>2 −>3
iż wypisuje te same potem w odwrotnej kolejnosci, a potem znow to samo
tu mam kod cały do zwyklego stosu by nie musiec wszystkiego od nowa
//jestem na zajęciach labach od 13:15 − 14:45
Drugie zadanie mamy dwa heady posortowane:
Head
1 −> 1 −>12 −>15
Head
2 −> −2 −> −1 −> 36
i ma nam wypisać "posortowane połaczone"
Head
1 −> −2 −> −1 −> 1 −> 12 −> 15 −> 36
Czy moglbys podrzucic mi gotowe? w weekend przerobie to starannie,
pochwale sie ze dostałem plusa na cwiczeniach juz u niego godz wczesniej

#include <iostream>
struct node
{
int val;
node* pNext;
};
void Push( node *&head, int val )
{
node *p = new node;
p−>val = val;
p−>pNext = head;
head = p;
}
void Pop( node *head )
{
if( head != NULL )
{
node *p = head;
head = head−>pNext;
delete p;
}
}
void copy(node* head, int val, int newValue)
{
node *p = head;
node *pPrevNode = NULL;
while( p != NULL )
{
if( p−>val == val )
{
pPrevNode = p;
break;
}
p = p−>pNext;
}
//wstawianie
node *np = new node;
np−>val = newValue;
np−>pNext = pPrevNode−>pNext;
pPrevNode−>pNext = np;
}
void Insert( node* head, int val, int newValue )
{
node *p = head;
node *pPrevNode = NULL;
while( p != NULL )
{
if( p−>val == val )
{
pPrevNode = p;
break;
}
p = p−>pNext;
}
//pPrevNode
Push( pPrevNode−>pNext, newValue );
}
// inseert bez push
void InsertP( node* head, int val, int newValue )
{
node *p = head;
node *pPrevNode = NULL;
while( p != NULL )
{
if( p−>val == val )
{
pPrevNode = p;
break;
}
p = p−>pNext;
}
//wstawianie
node *np = new node;
np−>val = newValue;
np−>pNext = pPrevNode−>pNext;
pPrevNode−>pNext = np;
}
void Delete( node* head, int val);
void Print( node *head )
{
std::cout << "HEAD−> ";
node *p = head;
while( p != NULL )
{
std::cout << "( " << p−>val << " )" << "−> ";
p = p−>pNext;
}
std::cout << " NULL" << std::endl;
}
int main()
{
node *head = NULL;
Push( head, 3 );
Push( head, 2 );
Push( head, 1);
Push( head, 32);
InsertP( head, 32, −45 );
Print( head );
system("pause");
return 0;
}
13 mar 13:42
Dziadek Mróz:
Daj linka, bo tu ciężko się kopiuje
13 mar 13:44
Dziadek Mróz:
Ok mam już
13 mar 13:50
Dziadek Mróz:
Dziwnie wypisuje, bo przecież początkiem listy jest 3 a nie 32
13 mar 13:51
Dziadek Mróz:
Push(...)
HEAD −> 3 −> 2 −> 1 −> 32 −> NULL
InsertP(...)
HEAD −> 3 −> 2 −> 1 −> −45 −> 32 −> NULL
13 mar 13:53
Hugo: 
nie mowie ze tamto jest dobrze
13 mar 13:53
Hugo: a moglbys mic caly by wklepac ino

?
13 mar 13:53
Dziadek Mróz:
Już wiem, bo nie wstawiasz na liście, tylko przed listą, o to chodzi?
13 mar 13:55
Dziadek Mróz:
Trochę później to napiszę bo muszę wyjść na miasto zaraz, ok?
13 mar 13:56
Hugo: ok ;x
13 mar 13:59
Hugo: tak jak myslisz

tak
13 mar 13:59
Hugo: 1 program juz rozpisuje to ten drugi
13 mar 14:08
Hugo:
13 mar 14:08
Dziadek Mróz:
Ok jestem już
13 mar 16:41
13 mar 23:36
Dziadek Mróz:
Lista jednokierunkowa, można ją obejść tylko od początku do końca, od lewa do prawa.
13 mar 23:39
Dziadek Mróz:
Nigdy od środka.
13 mar 23:39
Dziadek Mróz:
Hugo żyje czy nie żyje?
15 mar 13:35