顺序排序:最基本的排序方法
int array[]={a,b,c,d,e,f};
for(lh=0;lh<6;lh++)
{
rh=lh;
for(k=lh;k<6;++k)
if(array[k]<array[rh]) rh=k;
tmp=array[lh];array[lh]=array[rh];
array[rh]=tmp;//从lh开始找到右侧最小的量来和lh交换
}
二分查找法
int num=0;
low=0; high=14;
while(low<=high)
{
mid=(low+high)/2;
printf("查找区间下界,上界,中间点[%d,%d,%d]\n",low,high,mid);
if(a[mid]==x)
{
num=num+1;
break;}
else if(a[mid]<x)
low=mid+1;
else if(a[mid]>x)
high=mid-1;
}
if(num==1) printf("查找成功,%d的下标:%d\n",x,mid);
else printf("查找失败\n");
位运算(将自变量%10就得到这一位的数字)
while (x>=a&&x<=b)
{
tot=0;
tmp=x;
while(tmp>0)
{
n=tmp%10;
tot=tot+n*n*n;
tmp=tmp/10;
}
if(x==tot)
{
array[i]=x;
i=i+1;
num=num+1;
}
x=x+1;
}
递归实现的插入排序
#include <iostream>
using namespace std;
void sort(int x[],int n)
{
if(n==2)
{
if(x[0]>x[1])
{
int tmp=x[0];
x[0]=x[1];
x[1]=tmp;
}
}
else
{
sort(x,n-1);
int i=n-1;
while((x[i]<x[i-1])&&(i>0))
{
int temp=x[i];
x[i]=x[i-1];
x[i-1]=temp;
i=i-1;
}
}
}
int main()
{
int num;
int ele[1000];
cin>>num;
for(int i1=0;i1<num;++i1) cin>>ele[i1];
if(num==1) cout<<ele[0];
else if(num!=0&&num!=1)
{sort(ele,num);
for(int i1=0;i1<num;++i1) cout<<ele[i1]<<" ";}
return 0;
}
布尔函数的写法
bool isPrime(int n){
bool zs;
int j;
if (j == n)
return true ;
else return false;
}
静态变量 static
nt fib()
{
static int b=0;
static int c=0;
if(b==0)
{
b=1;
return(1);
}
else if(c==0)
{
c=1;
return(1);
}
else {
int tmp1,tmp2;
tmp1=b;
tmp2=c;
b=c;
c=c+tmp1;
return(tmp1+tmp2);
}
}
调用数组(在main中()里打一个a就行,不用【】)
调用数组
int GetApple(int a[], int height, int n)
{
int num;
num=0;
for(int i=0;i<n;++i)
{
if(a[i]<=height+30) ++num;
}
return(num);
}
函数模板(实际上定义了一个自定义变量的数组,大概)
template<class T>
void maxmin(T arr[], int length)
{
T tmp1=arr[0];
T tmp2=arr[0];
int i1;
for(i1=1;i1<length;++i1)
{
if(arr[i1]>tmp1) tmp1=arr[i1];
if(arr[i1]<tmp2) tmp2=arr[i1];
}
cout<<tmp1<<" "<<tmp2<<endl;
}