Lijst doorsturen in C++ | Set 2 (functies manipuleren)

Lijst doorsturen in C++ | Set 1 (inleiding en belangrijke functies) In dit artikel worden meer functies besproken. Enkele van de andere bewerkingen dan invoegingen en verwijderingen die in voorwaartse lijsten kunnen worden gebruikt, zijn als volgt: 

1. samenvoegen() : - Deze functie wordt gebruikt om de ene doorstuurlijst met de andere samen te voegen. Als beide lijsten zijn gesorteerd, wordt de resulterende lijst ook gesorteerd. 

2. operator '=' : - Deze operator kopieert de ene doorstuurlijst naar de andere. De kopie die in dit geval wordt gemaakt, is een diepe kopie. 

CPP
   // C++ code to demonstrate the working of    // merge() and operator=    #include          #include         using     namespace     std  ;      int     main  ()      {         // Initializing 1st forward list       forward_list   <  int  >     flist1     =     {  1       2       3  };             // Declaring 2nd forward list       forward_list   <  int  >     flist2  ;             // Creating deep copy using '='       flist2     =     flist1  ;             // Displaying flist2       cout      < <     'The contents of 2nd forward list'      ' after copy are : '  ;         for     (  int     &  x     :     flist2  )         cout      < <     x      < <     ' '  ;         cout      < <     endl  ;             // Using merge() to merge both list in 1       flist1  .  merge  (  flist2  );             // Displaying merged forward list       // Prints sorted list       cout      < <     'The contents of forward list '      'after merge are : '  ;         for     (  int     &  x     :     flist1  )         cout      < <     x      < <     ' '  ;         cout      < <     endl  ;             return     0  ;      }      

Uitgang:

The contents of 2nd forward list after copy are : 1 2 3 The contents of forward list after merge are : 1 1 2 2 3 3  

Tijdcomplexiteit: O(1)

Hulpruimte: O(1)
  3. soort() :- Deze functie wordt gebruikt om de doorstuurlijst te sorteren. 

4. uniek() : - Deze functie verwijdert de meerdere keren dat een getal voorkomt en retourneert een voorwaartse lijst met unieke elementen. De doorstuurlijst moet worden gesorteerd zodat deze functie succesvol kan worden uitgevoerd. 

CPP
   // C++ code to demonstrate the working of    // sort() and unique()    #include          #include      // for sort() and unique()    using     namespace     std  ;      int     main  ()      {         // Initializing 1st forward list       forward_list   <  int  >     flist1     =     {  1       2       3       2       3       3       1  };         // Sorting the forward list using sort()       flist1  .  sort  ();         // Displaying sorted forward list       cout      < <     'The contents of forward list after '      'sorting are : '  ;         for     (  int     &  x     :     flist1  )         cout      < <     x      < <     ' '  ;         cout      < <     endl  ;         // Use of unique() to remove repeated occurrences       flist1  .  unique  ();         // Displaying forward list after using unique()       cout      < <     'The contents of forward list after '      'unique operation are : '  ;         for     (  int     &  x     :     flist1  )         cout      < <     x      < <     ' '  ;         cout      < <     endl  ;         return     0  ;      }      

Uitgang:

The contents of forward list after sorting are : 1 1 2 2 3 3 3 The contents of forward list after unique operation are : 1 2 3  

Tijdcomplexiteit: O(1)

Hulpruimte: O(1)
 

5. achteruit() :- Deze functie wordt gebruikt om de voorwaartse lijst om te keren.

6. ruil() : - Deze functie wisselt de inhoud van de ene doorstuurlijst met de andere. 

CPP
   // C++ code to demonstrate the working of    // reverse() and swap()    #include          #include      // for reverse() and swap()    using     namespace     std  ;      int     main  ()      {         // Initializing 1st forward list       forward_list   <  int  >     flist1     =     {  1       2       3  };         // Initializing 2nd forward list       forward_list   <  int  >     flist2     =     {  4       5       6  };         // Using reverse() to reverse 1st forward list       flist1  .  reverse  ();         // Displaying reversed forward list       cout      < <     'The contents of forward list after'      ' reversing are : '  ;         for     (  int     &  x     :     flist1  )         cout      < <     x      < <     ' '  ;         cout      < <     endl      < <     endl  ;         // Displaying forward list before swapping       cout      < <     'The contents of 1st forward list '      'before swapping are : '  ;         for     (  int     &  x     :     flist1  )         cout      < <     x      < <     ' '  ;         cout      < <     endl  ;         cout      < <     'The contents of 2nd forward list '      'before swapping are : '  ;         for     (  int     &  x     :     flist2  )         cout      < <     x      < <     ' '  ;         cout      < <     endl  ;         // Use of swap() to swap the list       flist1  .  swap  (  flist2  );         // Displaying forward list after swapping       cout      < <     'The contents of 1st forward list '      'after swapping are : '  ;         for     (  int     &  x     :     flist1  )         cout      < <     x      < <     ' '  ;         cout      < <     endl  ;         cout      < <     'The contents of 2nd forward list '      'after swapping are : '  ;         for     (  int     &  x     :     flist2  )         cout      < <     x      < <     ' '  ;         cout      < <     endl  ;         return     0  ;      }      

Uitgang:

The contents of forward list after reversing are : 3 2 1 The contents of 1st forward list before swapping are : 3 2 1 The contents of 2nd forward list before swapping are : 4 5 6 The contents of 1st forward list after swapping are : 4 5 6 The contents of 2nd forward list after swapping are : 3 2 1  

Tijdcomplexiteit: O(1)

Hulpruimte: O(1)
 

7. duidelijk() : - Deze functie wist de inhoud van de doorstuurlijst. Na deze functie wordt de doorstuurlijst leeg.

  8. leeg() :- Deze functie retourneert waar als de lijst leeg is, anders onwaar. 

CPP
   // C++ code to demonstrate the working of    // clear() and empty()    #include          #include      // for clear() and empty()    using     namespace     std  ;      int     main  ()      {         // Initializing forward list       forward_list   <  int  >     flist1     =     {  1       2       3  };             // Displaying forward list before clearing       cout      < <     'The contents of forward list are : '  ;         for     (  int     &  x     :     flist1  )         cout      < <     x      < <     ' '  ;         cout      < <     endl  ;             // Using clear() to clear the forward list       flist1  .  clear  ();             // Displaying list after clear() performed       cout      < <     'The contents of forward list after '       < <     'clearing are : '  ;         for     (  int     &  x     :     flist1  )         cout      < <     x      < <     ' '  ;         cout      < <     endl  ;             // Checking if list is empty       flist1  .  empty  ()     ?     cout      < <     'Forward list is empty'     :         cout      < <     'Forward list is not empty'  ;             return     0  ;      }      

Uitgang:

The contents of forward list are : 1 2 3 The contents of forward list after clearing are : Forward list is empty 

Tijdcomplexiteit: O(1)

Hulpruimte: O(1)
Recente artikelen op forward_list