寻找数组中出现次数超过一半的数字
/* * 数组中出现次数超过一半的数字.cpp * * Created on: 2018年4月20日 * Author: soyo */ #include<iostream> using namespace std; int MoreNum(int *p,int length) { if(p==NULL) return NULL; int result=p[0]; int time=1; for(int i=1;i<length;i++) { if(time==0) { result=p[i]; time=1; } else if(p[i]==result) time++; else time--; } return result; } int main() { int a[]={1,5,3,5,8,5,5,5,7,5,8}; int num; num=MoreNum(a,9); cout<<"数组中出现次数超过一半的数字为:"<<num<<endl; int b[]={8,7,3,54}; int *p; p=b; cout<<p[3]<<endl; }
结果:
数组中出现次数超过一半的数字为:5 54