#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<