当前位置: 首页> 汽车> 行情 > 青岛栈桥附近景点玩的顺序_织梦cms起诉前更换了系统_哪个app可以找培训班_360竞价推广

青岛栈桥附近景点玩的顺序_织梦cms起诉前更换了系统_哪个app可以找培训班_360竞价推广

时间:2025/7/13 14:11:31来源:https://blog.csdn.net/m0_75077001/article/details/144864977 浏览次数: 0次
青岛栈桥附近景点玩的顺序_织梦cms起诉前更换了系统_哪个app可以找培训班_360竞价推广

阶乘函数

int fac(int x){
if (x == 0 || x == 1)return 1;
else return x*fac(x-1);
}

斐波那契数列

int fib(int x){
if (x == 1 || x == 2)return 1;
else return fib(x-1) + fib(x-2);
}

Ackerman函数

int ackerman(int m, int n){int f;if(m == 0 && n ==1)f = 2;else if(m >= 0 && n == 0)f = 1else if(m == 0 && n >= 2)f = n+2else if (m >= 1 && n >= 1)f = ackerman(ackerman(n-1, m), m-1);return f;
}

排列问题

void Perm(int list[], int k, int m)
{if(k == m){for(int i = 0; i <= m; i++)cout << list[i] <<endl;}else{for(int i = k; i <= m; i++){swap(list[i], list[k]);Perm(list, k+1, m);swap(list[i], list[k]);}}		
}

整数划分问题

int q(int n, int m)
{if(n<1 || m<1)return 0;else if(n==1 || m==1)return 1;else if(n <= m){return 1 + q(n, n-1)}else if(n > m){return q(n-m,m) + q(n,m-1)//包含一个m和不包含一个m的情况}
}

汉诺塔问题

void Hanoi(int n, char a, char b, char c)
{if (n == 1){move(a, c);}else{Hanoi(n - 1, a, c, b);//将A座上的n-1个盘子借助C座移向B座move(a, c);//将A座上最后一个盘子移向C座Hanoi(n - 1, b, a, c);//将B座上的n-1个盘子借助A座移向C座}
}

二分搜索

 public int indexOf(int[] array, int v){if (array == null || array.length == 0) return -1;int begin = 0;int end = array.length;while (begin < end){int mid = (begin + end) >> 1;if(v < array[mid]){end = mid;}else if(v > array[mid]){begin = mid+1;}else{return mid;}}return -1;}
void chessBoard(int tr, int tc, int dr, int dc, int size)
{if (size==1) return;int s = size/2;     //分割棋盘int t = ++num;      //L型骨牌号//覆盖左上角子棋盘if (dr < tr + s && dc < tc +s)                {//特殊方格在此棋盘中chessBoard(tr,tc,dr,dc,s);}else            //此棋盘中无特殊方格{//用t号L型骨牌覆盖右下角Matrix[tr+s-1][tc+s-1] = t;//覆盖其余方格chessBoard(tr,tc,tr+s-1,tc+s-1,s);}//覆盖右上角子棋盘if (dr < tr + s && dc >= tc + s )           {//特殊方格在此棋盘中chessBoard(tr,tc+s,dr,dc,s);}else            //此棋盘中无特殊方格{//用t号L型骨牌覆盖左下角Matrix[tr+s-1][tc+s] = t;//覆盖其余方格chessBoard(tr,tc+s,tr+s-1,tc+s,s);}//覆盖左下角子棋盘if (dr >= tr + s && dc < tc + s){//特殊方格在此棋盘中chessBoard(tr+s,tc,dr,dc,s);}else{//用t号L型骨牌覆盖右上角Matrix[tr+s][tc+s-1] = t;//覆盖其余方格chessBoard(tr+s,tc,tr+s,tc+s-1,s);}//覆盖右下角子棋盘if (dr >= tr + s && dc >= tc + s){//特殊方格在此棋盘中chessBoard(tr+s,tc+s,dr,dc,s);}else{//用t号L型骨牌覆盖左上角Matrix[tr+s][tc+s] = t;//覆盖其余方格chessBoard(tr+s,tc+s,tr+s,tc+s,s);}}

合并排序

void MergeSort(int A[], int left, int right)                   //归并排序
{if (left < right)                                          //当数组内的元素数大于1时进行二分操作,只有一个元素的时候,不作任何处理直接结束{int mid;mid = (left + right) / 2;                              //计算中间位置MergeSort(A, left, mid);                               //对数组A[left:mid]中的元素进行归并排序MergeSort(A, mid + 1, right);                          //对数组A[mid+1:right]中的元素进行归并排序Merge(A, left, mid, right);                            //进行合并操作}
}

快速排序

template<class Type>
int Partition (Type a[], int p, int r)
{int i = p, j = r + 1; Type x=a[p];// 将< x的元素交换到左边区域// 将> x的元素交换到右边区域while (true) {while (a[++i] <x);while (a[- -j] >x);if (i >= j) break; Swap(a[i], a[j]);}a[p] = a[j];a[j] = x;return j;
}
void QuickSort (Type a[], int p, int r)
{if (p<r){int q=Partition(a,p,r);QuickSort (a,p,q-1); //对左半段排序QuickSort (a,q+1,r); //对右半段排序}
}

线性时间选择

Type RandomizedSelect(Type a[],int p,int r,int k)
{if (p==r) return a[p];int i=RandomizedPartition(a,p,r),// 划分成两个部分,i为主元位置j=i-p+1;// 计算主元在当前子数组中的排名 j,即主元是子数组中第 j 小的元素。if (k<=j) return RandomizedSelect(a,p,i,k);// 说明第k小的元素在左半区else return RandomizedSelect(a,i+1,r,k-j); // 说明第k小的元素在右半区
}

循环赛日程表

void schedule(vector< vector<int> > &table, int n, int k){for(int i = 1; i <= n; i++){//初始化表格第一行 table[1][i] = i;}int m = 1;for(int s = 1; s <= k; s++){n /= 2;for(int t = 1; t <= n; t++){  //对每一部分进行划分(达到分治目的) for(int i = 1 + m; i <= 2*m; i++){ //控制行 for(int j = 1 + m; j <= 2*m; j++){   //控制列 table[i][j + (t-1)*m*2] = table[i - m][j + (t-1)*m*2 - m];  //右下角等左于上角的值 table[i][j + (t-1)*m*2 - m] = table[i - m][j + (t-1)*m*2];  //左下角等于右上角的值 }}	}m *= 2;}
}
关键字:青岛栈桥附近景点玩的顺序_织梦cms起诉前更换了系统_哪个app可以找培训班_360竞价推广

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: