×

C++ STL Tutorial

C++ STL Algorithm

C++ STL Arrays

C++ STL String

C++ STL List

C++ STL Stack

C++ STL Set

C++ STL Queue

C++ STL Vector

C++ STL Map

C++ STL Multimap

C++ STL MISC.

Remove all consecutive duplicate elements from the list | C++ STL

Example of list.unique() function in C++ STL: Here, we are going to learn how to remove consecutive duplicate elements from the list?
Submitted by IncludeHelp, on October 31, 2018

Problem statement

Given a list with some of the elements and we have to remove consecutive duplicate elements from the list in C++ STL.

list.unique() function

In C++ STL, to remove consecutive duplicate elements, we use a library function of "list" header, that is unique(), this function removes all consecutive duplicate elements from the list (similar to other containers also). And we get the list without consecutive duplicate elements.

Here is an example with sample input and output:

Input:
List = {10, 10, 20, 30, 30, 10, 20, 40, 40, 50}
    
Output:
List elements are 
10 10 20 30 30 10 20 40 40 50 
List after removing consecutive duplicate elements
10 20 30 10 20 40 50

C++ program to remove all consecutive duplicate elements from the list

#include <iostream>
#include <list>
using namespace std;

// function to display the list
void dispList(list<int> L) {
  // declaring iterator to the list
  list<int>::iterator l_iter;
  for (l_iter = L.begin(); l_iter != L.end(); l_iter++) cout << *l_iter << " ";
  cout << endl;
}

int main() {
  // declaring a list
  list<int> iList = {10, 10, 20, 30, 30, 10, 20, 40, 40, 50};

  // printing list elements
  cout << "List elements are" << endl;
  dispList(iList);

  // remove all consecutive duplicate elements
  iList.unique();
  cout << "List after removing consecutive duplicate elements" << endl;
  dispList(iList);

  return 0;
}

Output

List elements are
10 10 20 30 30 10 20 40 40 50
List after removing consecutive duplicate elements
10 20 30 10 20 40 50

Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.