- (void)viewDidLoad{ int array[ ] = {0,1,1,2,3,4,5,6,6,6,7,7,7,7,7,7,9,9,9,9,9}; search(array,sizeof(array)/sizeof(*array)); }
void search(int a[],int len) { int i, index,//temp数组下标,a数组i对应的值。 max = 0;//temp对应位置的值,既出现的次数。 int temp[1000] = {0}; //定义一个大小为1000个元素的数组,初值均设为0 for(i = 0; i < len; i++) { index = a[i]; temp[index]++; //哪个元素出现的最多,导致temp[index]值最大 } for(i = 0; i < 1000; i++) //遍历整个数组,找出值最大的元素 { if(max < temp[i]) { max = temp[i]; } } for(i = 0; i < 1000; i++) //遍历整个数组,输出值最大元素的下标的值加1 { if(max == temp[i]) { printf("%d\n",i); //即元素出现次数最多的 } } }
原文:http://www.cnblogs.com/xiangli/p/4794674.html