📄 home1.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 + -