首页 > 代码库 > [算法]对于已排好序的数组进行去重
[算法]对于已排好序的数组进行去重
最近项目中遇到一个场景,需要对排好序的数组进行去重(场景就是对同时获取两个频道的消息列表时做一个合并,而消息列表里的数据已经是排序好的),
经过思考后,尝试写了一个,感觉还算简洁,这里分享一下,如有有缘人可以参考,遇到问题还望指正,欢迎讨论:)
1 #include <iostream> 2 3 using namespace std; 4 5 #define NUM 7 6 7 int main(){ 8 9 int a[NUM] = {1, 1, 2, 2, 3, 5, 5};10 11 int *p1 = a, *p2 = a;12 while (p1 != a + NUM){ 13 if (*p1 == *p2){14 p1++; 15 continue;16 17 }else{ 18 p2++; 19 if (p2 < p1){20 *p2 = *p1;21 } 22 continue;23 } 24 25 26 } 27 28 int *p = a; 29 while(p <= p2){ 30 cout << *p++ << ‘ ‘; 31 32 } 33 34 cout << endl;35 36 37 }
[算法]对于已排好序的数组进行去重
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。