aa
Hugo: C++ algorytmy
Chodzi o listwy jednostronnie wiązane w Cpp, możliwosci zmiany ich kolejnosci i ew. sortowanie
ktos by dzis mial na to czas
? jutro kolos..
.
.
.
Dziadek
26 mar 08:29
jakubs: listwy ?
26 mar 10:05
ada: tak
jednostronnie wiązane
26 mar 10:20
ada: np.
#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 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, 30 );
Push( head, 20 );
Push( head, 18);
Push( head, 32);
InsertP( head, 32, −45 );
Print( head );
return 0;
}
26 mar 10:20
Hugo: COs takiego
, mam sporo gotowców właśnie dostalem u nas na grupie ale poogarniać mi troche
zajmie i jakies wątpliwosc sie znajdą i jak by ktos mógł mnie korektowac
26 mar 10:21
Dziadek Mróz:
Ale pierdzielenie, to już nie jest lista tylko stos.
Lista jednokierunkowa to taka struktura, którą można obejść tylko w jeden sposób od głowy.
Wstawiając nowy element do listy wstawiamy go na sam koniec a nie na sam początek.
http://ideone.com/kn5jP0
26 mar 14:02
Mariusz:
Dziadek przydałoby się jeszcze wyszukiwanie elementu no i jakies lepsze sortowanie
bo to wygląda na zwykłe bąbelki
25 lut 19:22