自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 问答 (1)
  • 收藏
  • 关注

原创 OJ半数集

算法:递归与分治输入6 可以得到6不做任何处理16左边添加一位数1,之后,不能继续添加26126左边添加一位数2,之后继续进行相同的处理36 136 左边添加一位数3,之后继续进行相同的处理对于每一个数,依次可以构造出首位是1~a/2的新数字 对每一个新数字,继续按照相同的方法进行处理 递归结束的条件是:每一个数字都进行了处理计算半数集的递推式#include<iostream>using namespace std;int f...

2021-09-27 21:27:54 142

原创 OJ全排列

#include #include using namespace std;void perm(int list[],int k,int m){if(k==m){for(int i=0; i<=m; i++){cout<<list[i]<<" ";}cout<<endl;}else{for(int i=k; i<=m; i++){swap(list[k],list[i]);perm(list,k+1,m);swap(lis

2021-09-26 19:40:58 169

原创 输出不重复的数

#include #include using namespace std;int main(){int n;cin>>n;int a[n];for(int i=0;i<n;i++){int s;cin>>s;a[i]=s;}sort(a,a+n);for(int i=0; i<n; i++){cout<<a[i]<<" ";}return 0;}

2021-09-26 19:40:26 207

原创 OJ排队购票

#include using namespace std;int f(int m,int n){if(m0){return 0;}else if(n0){return 1;}else{return f(m-1,n)+f(m,n-1);}}int main(){int m,n;cin>>m>>n;cout<<f(m,n);return 0;}

2021-09-26 19:39:48 150

原创 OJ递归:判堆(非递归写法)

#include using namespace std;int judge(int n,int a[]){int x=0,y=0;for(int i=0; i<n; i++){if(a[0]>a[i]){x++;}else if(a[0]<a[i]){y++;}}if(x==y){return 1;}else if(x>y){return 2;}else{return 3;}}int main(){int n;cin&

2021-09-26 19:39:11 140

原创 放苹果(盘子相同)

#include using namespace std;int split(int n,int m){if(n1||m1){return 1;}else if(n<m){return split(n,n);}else if(n==m){return split(n,n-1)+1;}else{return split(n,m-1)+split(n-m,m);}}int main(){int n,m;cin>>n>>m;cout&

2021-09-24 10:46:41 99

原创 递归求平方和函数

#include using namespace std;int sum(int n){int x=0;for(int i=1; i<=n; i++){x+=i*i;}return x;}int main(){int n;cin>>n;cout<<sum(n);return 0;}

2021-09-24 10:46:11 560

原创 众数及重数

#include using namespace std;int main(){int n,a=0,b=0,c;cin>>n;int s[n];for(int i=0;i<n;i++){int f;cin>>f;s[i]=f;}for(int i=0;i<n;i++){for(int j=0;j<n;j++){if(s[i]==s[j]){a++;}}if(a>=b){b=a;c=s[i];}a=0;}cout&

2021-09-24 10:45:40 81

原创 OJ快速排序

#include #include <stdlib.h>#include <stdio.h>using namespace std;int quick_select(int a[], int l, int r, int k){int p = rand() % (r - l + 1) + l;int x = a[p];{int t = a[p];a[p] = a[r];a[r] = t;}int i = l, j = r;while(i < j){

2021-09-24 10:45:10 277

原创 寻找中位数 (快速排序版)

#includeusing namespace std;class sort{public:sort(int r[],int n);~sort();void quicksort(int first,int last);void print();private:int partition(int first,int last);int *data;int length;};sort::sort(int r[],int n){data=new int[n];for(int i=0;

2021-09-24 10:44:35 118

原创 OJ昆虫繁殖

#include using namespace std;int main() {long x,y,z,f[100],s[100];cin>>x>>y>>z;for (int i=1; i<=x; i++) {f[i]=1;s[i]=0;}for (int i=x+1; i<=z+1; i++) {if (i-2>=x+1) {s[i]=f[i-x]*y;f[i]=f[i-1]+s[i-2];} else {s[i]=f[i-

2021-09-24 10:43:58 86

原创 OJ过河卒

#include using namespace std;int main() {long m[50][50],f[50][50],mx,my,bx,by;cin>>bx>>by>>mx>>my;for (int i=0; i<=bx; i++) {for (int j=0; j<=by; j++) {if (imx-1&&jmy-2) {m[i][j]=1;} else if (imx+1&&jm

2021-09-24 10:43:30 85

原创 递归:Pell数列

#include using namespace std;int f(int n){if(n1){return 1;}else if(n2){return 2;}else{return (2*f(n-1)%32767+f(n-2)%32767)%32767;}}int main(){int k,n;cin>>k;int g[30];for(int i=0; i<k; i++){cin>>n;g[i]=f(n);}for(in

2021-09-24 10:42:54 169

原创 递归:爬楼梯

#include using namespace std;int f(int n){if(n1){return 1;}else if(n2){return 2;}else{return f(n-1)+f(n-2);}}int main(){int k,n;cin>>k;int g[k];for(int i=0;i<k;i++){cin>>n;g[i]=f(n);}for(int i=0;i<k;i++){cout<&lt

2021-09-24 10:42:27 77

原创 OJ猴子吃桃

#include using namespace std;int main(){int f=1;for(int i=1;i<10;i++){f=(f+1)*2;}cout<<f;return 0;}

2021-09-24 10:41:51 74

原创 排序

#include using namespace std;class Sort {public:Sort (int r[],int n); //构造函数,生成待排序序列~Sort();//析构函数void InsertSort();//直接插入排序void ShellSort();//希尔排序void BubbleSort();//起泡排序void QuickSort (int first,int last); //快速排序void SelectSort();//简单选择排序void

2020-12-24 08:59:35 178

原创 折半查找

#include using namespace std;const int MaxSize=100;class linesearch {public:linesearch (int a[],int n); //构造函数~linesearch() {} //析构函数为空int BinSearch1 (int k); //折半非递归查找int BinSearch2 (int low,int high,int k); //折半递归查找private:int data[MaxSize];//查

2020-12-23 22:15:22 132

原创 顺序查找

#include using namespace std;const int MaxSize=100;class linesearch{public:linesearch(int a[],int n);//构造函数~linesearch(){}//析构函数为空int SeqSearch(int k);//顺序查找private:int data[MaxSize];//查找集合为整形int length;//查找集合的元素个数};linesearch::linesearch(int

2020-12-23 21:54:14 128

原创 图的存储结构及实现(邻接表(包含拓扑排序))

#include using namespace std;struct EdgeNode{int adjvex;EdgeNode *next;};templatestruct VertexNode{DataType vertex;EdgeNode *firstEdge;};const int MaxSize=10;int visited[MaxSize]={0};templateclass ALGraph{public:ALGraph(DataType a[],int

2020-12-23 20:59:01 328

原创 图的存储结构及实现(邻接矩阵)

#include using namespace std;const int MaxSize=10;//图中最多顶点个数int visited[MaxSize]={0};//全局数组变量visited初始化template class MGraph{public:MGraph(DataType a[],int n,int e);//构造函数,建立具有n个顶点e条边的图~MGraph();//析构函数void DFTraverse(int v);//深度优先遍历图void BFTrave

2020-12-23 20:23:21 359

原创 二叉链表的实现

#include using namespace std;template struct binode{DataType data;binode *lchild,*rchild;};templateclass bitree{public:bitree(){root=creat();}//构造函数,建立一颗二叉树~bitree(){release(root);}//析构函数,释放各结点的存储空间void preorder(){preorder(root);}//前序遍历二叉树vo

2020-12-23 10:17:20 65

原创 链队列的实现

#include using namespace std;template struct Node{DataType data;//数据域Node *next;//指针域};class LinkQueue{public:LinkQueue();//初始化空的链队列~LinkQueue();//释放链队列的存储空间void enqueue(DataType x);//入队操作,将元素x入队DataType dequeue();//出队操作,将队头元素出队DataType geth

2020-12-21 20:59:59 248

原创 循环队列的实现

#include using namespace std;const int QueueSize=100;template class cirqueue{public:cirqueue();//构造函数,初始化空队列~cirqueue();//析构函数void enqueue(DataType x);//入队操作,将元素x入队DataType dequque();//出队操作,将队头元素出队DataType gethead();//取队头元素(并不删除)int empty();//判

2020-12-21 20:52:45 182

原创 链栈的实现

#include using namespace std;template struct Node{DataType data;//数据域Node *next;//指针域};class LinkStack{public:LinkStack();//构造函数,初始化一个空链栈~LinkStack();//析构函数,释放链栈各结点的存储空间void push(DataType x);//入栈操作,将元素x入栈DataType pop();//出栈操作,将栈顶元素出栈DataType

2020-12-21 20:32:24 289

原创 单链表的实现

#include using namespace std;templateclass linklist{public:linklist();//建立n个元素的单链表linklist(DataType a[],int n)//~linklist();//析构函数int length();//求单链表的长度datatype Get(int i);//按位查找,查找第i个结点的元素值int locate(datatype x);//按值查找,查找值为x的元素序号void insert(in

2020-12-21 20:03:32 261

原创 顺序表的实现

#include using namespace std;const int MaxSize=100;templateclass Seqlist{public:Seqlist();Seqlist(DataType a[],int n);int Length();void Printlist();void Insert(int i,DataType x);DataType Delete(int i);void Union(Seqlist A,Seqlist B,Seqlist C);

2020-12-21 19:39:06 73

原创 顺序栈的实现

#include using namespace std;const int StackSize=10;templateclass SeqStack{public:SeqStack();//构造函数,初始化一个空栈~SeqStack();//析构函数void push(DataType x);//入栈操作,将元素x入栈DataType pop();//出栈操作,将栈顶元素弹出DataType gettop();//取栈顶元素(并不删除)int empty();//判断栈是否为空pr

2020-12-18 09:27:43 122

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除