寻求高效的数组中查找两个数相同数的方法(只有两个数相同)

RiweiChen 2011-04-08 11:39:21
以下是我的代码,显然谈不上效率。
#include <iostream>
using namespace std;
int main()
{
int n;
int result,i,j;
while (cin>>n)
{
int *date=new int [n];
for (i=0;i<n;i++)
{
cin>>date[i];
}
for (i=0;i<n;i++)
{
for (j=i+1;j<n;j++)
{
if (date[i]==date[j])
{
result=date[i];
cout<<result<<endl;
i=n+1;
j=n+1;
}
}
}
delete [] date;

}
return 0;
}


...全文
696 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
showjim 2011-04-09
  • 打赏
  • 举报
回复
位图 | hash | 排序
Freedom 2011-04-09
  • 打赏
  • 举报
回复
先排序在查找
wtrd1234 2011-04-09
  • 打赏
  • 举报
回复
无序数组的话 好像一般的查找算法什么的都不好用,只有一个一个挨个找了
就如同1楼说的,先排序后查找

其他高级算法我就不清楚了
jackzhhuang 2011-04-08
  • 打赏
  • 举报
回复
从头遍历到尾,同时构造一个二叉树,当发现有元素相同时就是找到了。时间:lgN
hhh_hao 2011-04-08
  • 打赏
  • 举报
回复
遍历数组中的每一个数据, 在另一个数组中查找该元素是否存在.

要高效就是要从查找算法上入手, 比如折半查找等....,

或者先排序再查找,等等...

64,650

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧