设为首页 加入收藏

TOP

C++数组求最大值及最小值最快方法(3[n/2]的时间效率)
2015-11-21 01:03:24 来源: 作者: 【 】 浏览:2
Tags:最大值 最小 最快 方法 n/2 时间 效率
#include 
  
   
using 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<
       
      
     
    
   
  
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇POJ 2251 Dungeon Master (广搜) 下一篇C++14尝鲜:在C++中实现LINQ

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: