程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++數組求最大值及最小值最快方法(3[n/2]的時間效率)

C++數組求最大值及最小值最快方法(3[n/2]的時間效率)

編輯:關於C++
#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;ja[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<
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved