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

   2024-10-02 5560
核心提示:使用set容器:将数组中的元素插入到set容器中,set容器中元素自动去重,最后将set容器中的元素复制回数组。使用排序+去重:先对

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

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

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

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

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

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号