#include<iostream>
#include<fstream>
using namespace std;
void Searchz(int arr[],int &z,int &c);
void QuickSort(int a[],int p,int r ) ;
int partition(int a[],int p,int r);
main()
{
int arr[4]={0};
ifstream ofile;
ofile.open("D:\\imput.txt",ios::in);
for(int i=0;i<4;i++)
{
ofile>>arr[i];
cout<<arr[i]<<" ";
}
QuickSort(arr,0,3);
ofstream oufile;
oufile.open("D:\\output.txt",ios::out);
int z=-1,c=-1;
Searchz(arr,z,c);
oufile<<"众数为:"<<z<<" 重数为:"<<c<<endl;
ofile.close();
oufile.close();
}
void Searchz(int arr[],int &z,int &c)
{
int zt=-1,ct=-1;
for(int i=0;i<4;i++)
{
if(arr[i]!=zt)
{
zt=arr[i];ct=1;
}
else if(arr[i]==zt)ct++;
if(ct>c)
{
c=ct;z=zt;
}
}
}
void QuickSort(int a[],int p,int r)
{
if(p<r)
{
int q=partition(a,p,r);
QuickSort(a,p,q-1);
QuickSort(a,q+1,r);
}
}
int partition(int a[],int p,int r)
{
int i=p,j=r+1;
int x=a[p],temp;
while(1)
{
while(a[++i]<x&&i<r);
while(a[--j]>x);
if(i>=j) break;
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
a[p]=a[j];
a[j]=x;
return j;
}