Witam.
Zaczynam z C++ i chcę zrobić coś takiego: Lista dwukierunkowa - dane wczytujemy z pliku, następnie dokonujemy operacji na tych danych - np. usunięcie ogona listy, wyszukiwanie po indeksie itd. Na koniec tak zmodyfikowane dane zapisujemy do innego pliku.
Na razie napisałam mam kod, który wczytuje dane z pliku (jako string) i zapisuje je do kolejnego pliku.
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
string wiersze; // przechowuje odczytane wiersze tekstu
fstream plik("ścieżka\\wejscie.txt", ios::in);
fstream zapis("ścieżka\\wyjscie.txt", ios::out | ios::app);
if (plik.good() == true) // jeśli plik uda się otworzyć - następuje odczyt danych z pliku
{
while (getline(plik, wiersze)) // jesli nie natrafi na koniec pliku, czyta kolejny wiersz
{
cout << wiersze << endl; // wypisuje odczytane wiersze w konsoli + tutaj dalej kod do np. operacji na listach
zapis << wiersze << endl; // zapisuje odczytane wartosci do pliku
}
plik.close(); //zamyka plik po odczytaniu
zapis.close();
}
else // jesli nie uda sie otworzyc pliku do odczytu
{
cout << "Nie mozna otworzyc pliku" << endl;
}
return 0;
}
I mam takie pytanie. Jak zacząć teraz pracować na liście dwukierunkowej? Rozumiem, że należy zadeklarować strukturę ze wskazaniem na *next i *prev, ale nie wiem jak operować na tej zmiennej "wiersze", do której zapisane zostały dane.
Czy to może być coś takiego?
struct strukturaDanychDeklaracja{
strukturaDanychDeklaracja *next;
strukturaDanychDeklaracja *prev;
int key;
};
strukturaDanychDeklaracja* wiersze;