matematykaszkolna.pl
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: Head1 −> 1 −>12 −>15 Head2 −> −2 −> −1 −> 36 i ma nam wypisać "posortowane połaczone" Head1 −> −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 dobrzeemotka
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 emotka
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