寻找众数:
对于一个已经排序好的数组,可用以下代码实现众数的查找。
int mostFrequent; //出现次数最多的数
int highestFrequency=0; //前一个数的次数
int currentFrequency=0; //当前数的次数
for(int i=0;i<ARRAY_SIZE;i++){
currentFrequency++;
if(i==ARRAY_SIZE-1||surveyData[i]!=surveyData[i+1]){
if(currentFrequency>highestFrequency){
highestFrequency>currentFrequency;
mostFrequent=surveyData[i];
}
currentFrequency=0;
}
}
以上方法是对已经排好序的数组使用,如何排序呢?
简单的排序方法:
const int ARRAY_SIZE=10;
int intArray[ARRAY_SIZE]={.......};
qsort(intArray,ARRAY_SIZE,sizeof(int),compareFunc);
插入排序法:
int start=0;
int end=ARRAY_SIZE-1;
for(int i=start+1; i<=end ; i++){
for(int j=i; j>start&&intArray[j-1]>intArray[j];j--){
int temp=intArray[j-1];
intArray[j-1]=intArray[j];
intArray[j]=temp;
}
}