[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ówsznura 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 » |