Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- int n, x;
- struct Nod
- {
- int info;
- Nod *leg;
- };
- struct Lista /// Simplu inlantuita
- {
- Nod *L;
- void Inserare1(int x) /// Inserare la inceput
- {
- Nod *p;
- p = new Nod;
- p -> info = x;
- p -> leg = L;
- L = p;
- }
- void Inserare2(Nod *p, int x) /// Inserare dupa nodul de adresa memorata in p
- {
- Nod *q;
- q = new Nod;
- q -> info = x;
- q -> leg = p -> leg;
- p -> leg = q;
- }
- /// Insereaza dupa al k-lea nod
- /// un nou nod cu informatia x;
- /// Daca lista are mai putin de
- /// k noduri, inserarea se face
- /// la sfarsitul listei.
- void Parcurgere() /// Parcurgerea listei
- {
- for(Nod *p = L; p != NULL; p = p -> leg)
- cout << p -> info << " ";
- cout << "\n";
- }
- void Init() /// Initializarea listei vide
- {
- L = NULL;
- }
- void Sterge1() /// Stergerea primului nod
- {
- if(L = NULL) return;
- Nod *p;
- p = L;
- L = p -> leg;
- delete p;
- }
- };
- int main()
- {
- Lista w[100];
- ifstream fin("graf.in");
- fin >> n;
- for(int i = 1; i <= n; i++)
- {
- w[i].Init();
- for(int j = 1; j <= n; j++)
- {
- fin >> x;
- if(x) w[i].Inserare1(j);
- }
- }
- for(int i = 1; i <= n; i++)
- {
- w[i].Parcurgere();
- }
- /*
- for(int i = 20; i >= 1; i--)
- w.Inserare1(i);
- w.Parcurgere(); cout << "\n";
- w.Inserare3(300, 100);
- w.Parcurgere();
- cout << w.Cautare(15) -> info << "\n";
- w.ParcDS(w.L); cout << "\n";
- */
- return 0;
- }
- sp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement