C++中数组去重的算法有哪些

avatar
作者
筋斗云
阅读量:0

  1. 使用set容器:将数组中的元素插入到set容器中,set容器中元素自动去重,最后将set容器中的元素复制回数组。

  2. 使用排序+去重:先对数组进行排序,然后遍历数组,如果当前元素与前一个元素不相同,则将其保存下来,最后得到的就是去重后的数组。

  3. 使用双指针:设置两个指针i和j,i指向数组起始位置,j从i+1开始遍历数组,如果arr[i] != arr[j],则将arr[j]赋值给arr[i+1],i++,j继续向后遍历,直到遍历结束。最后数组的前i+1个元素就是去重后的数组。

  4. 使用unordered_set(哈希表):利用哈希表的特性,遍历数组,将数组中的元素插入到unordered_set中,最后将unordered_set中的元素复制回数组。

  5. 使用标记法:遍历数组,使用一个标记数组记录每个元素是否已经出现过,如果没有出现过,则将其加入到结果数组中。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!