#include <iostream.h>#include <stdlib.h>#include <string.h> const int defaultsize=30;const int n=10;struct person { char name; int count ;} leader [n];template <class type> class array{public: array( type b[ ],int n ); //构造函数 ~array( ){ delete [ ] a ; } //析构函数 int arraymin (int n) //求数组中的最小值 { int min=a[0]; for (int i=1; i<n; i++) if (a[i]<min) min=a[i]; return min; } void election(int n ) //选票统计算法 { char nam; cin>>nam; while (nam!='#') { for( int i=0;i<n; i++) if (a[i].name==nam) a[i].count++; cin>>nam; } for(int i=0;i<n; i++) cout<<a[i].name<<"得票数:"<<a[i].count<<endl; } int find (int n, int k ); //顺序查找算法 type bubblesort(int n, int k ); //起泡排序算法 type selectsort (int n, int k ); //选择排序算法private: type *a; //数组 int arraysize; //元素的个数 }; template <class type>array<type>:: array( type b[ ],int n ) { arraysize=n; a=new type[n]; for( int i=0; i<arraysize; i++) a[i]=b[i] ;}void main( ) { int b[10]={ 56,23,12,90,67,45,89,34,1,100 }; array< int > x(b,10); cout <<x.arraymin(10)<<endl; person c[10]; c[0].name='a';c[0].count=0;c[1].name='b';c[1].count=0; c[2].name='c';c[2].count=0;c[3].name='d';c[3].count=0; c[4].name='e';c[4].count=0;c[5].name='f';c[5].count=0; c[6].name='g';c[6].count=0;c[7].name='h';c[7].count=0; c[8].name='i';c[8].count=0;c[9].name='j';c[9].count=0; array< person >y(c,10); y.election(10 ); } int arraymin(int a[],int n){ int min ,i; min=a[0]; for(i=1;i<n;i++) if(a[i]<min)min=a[i]; return min;}void election(person leader[],int n){ char name; cin>>name; while(name!='#') { for(int i=0;i<n;i++){ if(leader[i].name==name) leader[i].count++; cin>>name; } } for(int i=0;i<n;i++) cout<<leader[i].name<<"得票数为:"<<leader[i].count<<endl;}int find(int a[],int n,int k){ int count=0; for(int i=0;i<n;i++) if(++count&&a[i]==k)break; cout<<"比较次数为:"<<count<<endl; return i;}template<class t>t bubblesort(t r[],int n,t k){ for(i=1;i<n;i++) for(j=0;j<n-i;j++) if(r[j]>r[j+1]){ temp=r[j]; r[j]=r[j+1]; r[j+1]=temp; } return r[k-1];}template<class t>t selectsort(t r[],int n,t k){ for(i=0;i<k;i++) { index=i; for(j=i+1;j<n;j++) if(r[j]<r[index])index=j; if(index!=i){ temp=r[j]; r[j]=r[index]; r[index]=temp; } } return r[k-1]; }

评论