#includeusing namespace std; //最小值和最大值的求解,时间复杂度最多是3[n/2],依据算法导论第九章. void swap(int &a,int &b) { int temp = a; a = b; b = temp; } void Grial(int a[],int n) { int i = 0; if(a[i]>a[i+1]) { swap(a[i],a[i+1]); } for(int j = i+2;j a[j+1]) { if(a[j]>a[1]) swap(a[j],a[1]); if(a[j+1] a[1]) swap(a[j+1],a[1]); } if(n%2!=0 && j==n-3) { if(a[n-1] a[1]) swap(a[n-1],a[1]); break; } } cout<