[C++]Struktury danych, Usuwanie
Ostatnio zmodyfikowano 2016-05-03 00:51
redie Temat założony przez niniejszego użytkownika |
[C++]Struktury danych, Usuwanie » 2016-05-02 21:01:17 Cześć, nie wiem czy mogę tutaj pisać takie rzeczy ale próbuję napisać program (do zadania). Treść podpunktu z zadania(z którym mam problem). procedurę UsunCiagi usuwającą ze sznura podanego jako parametr ciągi sąsiednich elementów sznura w następujący sposób: usuwamy M elementów sznura (lub tyle ile jest, gdy jest mniej), następnie omijamy dwa elementy, usuwamy kolejnych M elementów, pozostawiamy dwa, itd. (M jest liczbą całkowitą dodatnią będącą parametrem procedury). Pamięć zajmowana przez usuwane elementy ma zostać zwolniona, procedura nie może używać tablic ani pomocniczych sznurów; A to jest kod, który jest z całego programu (najpotrzebniejsze, żeby wiedzieć o co mi chodzi) #include"sznur.h" #include<iostream> using namespace std; Sznur::Sznur() { head = NULL; tail = NULL; } Sznur::~Sznur() { while( head != NULL ) { Node * killer = head; head = killer->next; delete( killer ); } } void Sznur::Wstaw( int value ) { Node * pred = NULL; Node * succ = head; while( succ != NULL && succ->T > value ) { pred = succ; succ = succ->next; } Node * neew = new Node( value, succ ); if( pred != NULL ) pred->next = neew; else head = neew; } void Sznur::Wypisz() const { Node * walker = head; while( walker != NULL ) { cout << walker->T << " "; walker = walker->next; } } void Sznur::UsunCiagi( int M ) { Node * pred = NULL; Node * succ = head; while( succ != NULL ) { Node * pred2 = succ->next; for( int i = 0; i < M; i++ ) { Node * killer = succ; pred2 = succ->next; if( pred != NULL ) { pred->next = succ->next; } else head = succ->next; if( pred2 == tail ) { tail = pred; } pred2->next = NULL; pred2 = NULL; while( killer != NULL ) { Node * k = killer; killer = killer->next; delete( k ); } } pred = succ->next; succ = succ->next->next; } }
|
|
Rashmistrz |
» 2016-05-02 22:22:40 Podaj treść całego zadania, a kod wstawiaj w znaczniki [cpp] ... [/cpp]. |
|
wojtu111 |
:D » 2016-05-03 00:51:49 |
|
« 1 » |