Cześć! Oto mój pierwszy programik dotyczący list. Postanowiłem, że napiszę go dla dodawania elementu po wybranym elemencie, usuwaniu elementu o podanej wartosci, zliczaniu bieżącej liczby elementów na liście oraz funkcji zapisu i odczytu do i z pliku. Póki co sprawdzałem pojedyncze funkcje i funkcje dodawania i odczytu nie chcą trybić. Mógłbym liczyć na jakąś pomoc? Z góry dzięki
struct Node
{
Node *next;
int key;
};
class List
{
public:
Node *head;
unsigned int counter;
List()
{
head = NULL;
counter = 0;
}
~List()
{
Node *p;
while(head)
{
p = head->next;
delete head;
head = p;
}
}
unsigned size()
{
return counter;
}
void Addafter(Node *e, int v)
{
Node *p = new Node;
p->next = e->next;
p->key = v;
e->next = p;
counter++;
}
int Delete(Node* e, int v)
{
Node *p = new Node;
int count = 0;
while(p->next != NULL)
{
if(p->key = v)
{
delete p;
count++;
return count;
}
}
}
void Write()
{
string data;
fstream file;
file.open("D:\\plik.txt", ios::out);
Node *p = head;
while(p->next !=NULL)
{
p = p->next;
float wartosc = p->key;
file<<wartosc;
}
file.close();
}
void Read()
{
string data;
fstream file;
file.open("D:\\plik.txt", ios::in);
Node *p = head;
for(int i=0; i<counter; i++)
{
getline(file, data);
float wynik = atoi(data.c_str());
p->key = wynik;
p = p->next;
}
file.close();
}
};