Advertisement
J00ker

Untitled

Dec 14th, 2015
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.85 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6. int n, x;
  7.  
  8. struct Nod
  9. {
  10.     int info;
  11.     Nod *leg;
  12. };
  13.  
  14. struct Lista                            /// Simplu inlantuita
  15. {
  16.     Nod *L;
  17.     void Inserare1(int x)               /// Inserare la inceput
  18.     {
  19.         Nod *p;
  20.         p = new Nod;
  21.         p -> info = x;
  22.         p -> leg = L;
  23.         L = p;
  24.     }
  25.  
  26.     void Inserare2(Nod *p, int x)       /// Inserare dupa nodul de adresa memorata in p
  27.     {
  28.         Nod *q;
  29.         q = new Nod;
  30.         q -> info = x;
  31.         q -> leg = p -> leg;
  32.         p -> leg = q;
  33.     }
  34.  
  35.     ///     Insereaza dupa al k-lea nod
  36.     /// un nou nod cu informatia x;
  37.     /// Daca lista are mai putin de
  38.     /// k noduri, inserarea se face
  39.     /// la sfarsitul listei.
  40.  
  41.     void Parcurgere()                   /// Parcurgerea listei
  42.     {
  43.         for(Nod *p = L; p != NULL; p = p -> leg)
  44.             cout << p -> info << " ";
  45.         cout << "\n";
  46.     }
  47.  
  48.     void Init()                         /// Initializarea listei vide
  49.     {
  50.         L = NULL;
  51.     }
  52.  
  53.     void Sterge1()                      /// Stergerea primului nod
  54.     {
  55.         if(L = NULL) return;
  56.         Nod *p;
  57.         p = L;
  58.         L = p -> leg;
  59.         delete p;
  60.     }
  61. };
  62.  
  63. int main()
  64. {
  65.     Lista w[100];
  66.     ifstream fin("graf.in");
  67.     fin >> n;
  68.     for(int i = 1; i <= n; i++)
  69.     {
  70.         w[i].Init();
  71.         for(int j = 1; j <= n; j++)
  72.         {
  73.             fin >> x;
  74.             if(x) w[i].Inserare1(j);
  75.         }
  76.     }
  77.  
  78.     for(int i = 1; i <= n; i++)
  79.     {
  80.         w[i].Parcurgere();
  81.     }
  82.  
  83.     /*
  84.     for(int i = 20; i >= 1; i--)
  85.         w.Inserare1(i);
  86.     w.Parcurgere(); cout << "\n";
  87.  
  88.     w.Inserare3(300, 100);
  89.     w.Parcurgere();
  90.     cout << w.Cautare(15) -> info << "\n";
  91.  
  92.     w.ParcDS(w.L); cout << "\n";
  93.     */
  94.     return 0;
  95. }
  96. sp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement