⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 home1.cpp

📁 本源代码给出了若干经常使用的寻找最大数值的算法,各个各不相同,并给出了相应的程序实现.
💻 CPP
字号:




/************************************/
// algorithem 1
//
// findx1(a[0...n-1],x) 
// c=0
// for ( i=0, i<n , i++)
//   if x = a[i];
//      c++
// return c
//
/************************************/

/*
#include <iostream.h>
int findx1( int* a,int n, int x);

int main()
{
	int a[] = {1,0,5,0,3,1,3,19,3};
	int x=3;
	cout << "findx1(a,9,x) =" << findx1(a,9, x) << "\n";
}

int findx1( int* a,int n,int x)
{
	int c=0;
 for ( int i =0; i<n; i++)
	 if ( a[i]==x ) c++;
  return c;
}

*/
/************************************/
// algorithem 2
//
// findx2(a[0...n-1],n,x) 
//   if n=-1
//      return 0
//   else return (a[n-1]==x)+findx2(a[0...n-1],n-1,x)
/************************************/
/*

#include <iostream.h>
int findx2( int* a, int n,int x);

int main()
{
	int a[] = {1,0,5,0,3,1,3,19,3};
	int x=3;
	cout << "findx2(a,9,x) =" << findx2(a,9, x) << "\n";
}

int findx2( int* a,int n,int x)
{
	if(n < 1)
	   return 0;
    return (a[n-1]==x)+findx2(a,n-1,x);
}

*/

/******************************************/
// algorithem 3
//
//  findx3(a[1...n], p,r,x)
//  if p=r
//       if a[p]=x
//		     return 1;
//	     else return 0;
//   else 
//        m=(p+r)/2
//        m1=findx3(a[1...n],p,m)
//		  m2=findx3(a[1...n],m+1,r)
//		return m1+m2
/****************************************/

#include <iostream.h>
int findx3( int* a, int p,int r, int x);

int main()
{
	int a[] = {1,0,5,0,3,1,3,19,3};
	int x=3;

	cout << "findx3(a,0,8,x) =" << findx3(a,0,8,x) << "\n";
}

int findx3(int a[], int p,int r,int x){
   if (p>=r) {
     if(a[p]==x)
	      return 1;
	 else 
	     return 0;
     }

   int m=(p+r)/2;
   int m1=findx3(a, p,m,x);
   int m2=findx3(a,m+1,r,x);
   return m1 + m2;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -