自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 STL笔记反向迭代器初始化

正向迭代器初始化假设arr是含有10个数据vector数组for(vector<int>::iterator it=arr.begin();it!=arr.end();++it){ cout<<(*it)<<" "; } 反向迭代器初始化//假设arr是含有10个数据vector数组 for(vector<int>::reverse_iterator it=arr.rbegin();it!=arr.rend();++

2022-04-09 21:59:22 311

原创 C++笔记define多行定义

今天在一个笔试时碰到一个define多行定义的题特来此记录一下用法:#define fun(para) for(int i=0;i<10;++i){cout<<“a”<<" ";}实例VS2019运行#includeusing namespace std;//这里要切记para是代表一个参数并非一个类型如double,int之类,纯粹就是个参数名字,可以起任何名字,只要符合标识符要求即可#define fun(para) for(int i=0;i<1

2022-04-06 23:15:20 1526

原创 vector型二维数组赋值问题

vector二维数组不像普通的二维数组赋值方法为:如果想要定义一个nn的二维数组并且给它赋值1.首先定义一个初始大小为n的一维vector数组,假设n已知vector arr(n, 0);2.然后用这个一维数组给二维数组赋值vector<vector> ARRAY(n, arr);3.这样就形成了一个nn大小的二维vector数组4.这样就可以去访问或者更改这个二维数组ARRAY了如果在做题中图方便,想要立刻得到一个辅助二维vector数组可以利用已知的vector二维数组来

2022-04-01 21:12:39 4624

原创 C++模板知识点记录2022.01.10

1.类模板与函数模板区别1.类模板没有自动类型推导的使用方式,必须指定类型即加上<string, int, …>指定参数,不可以像模板函数一样用自动类型推导2.类模板在模板参数列表可以有默认参数,即在声明类模板时:template<class T1, class T2 = int>即默认T2为Int 类型,如果没有给T2传类型,则默认T2为int...

2022-01-10 20:53:01 254

原创 C++模板知识点记录2022.01.10

1.使用模板的时候必须要指定数据类型T2.函数模板与普通函数区别:1.是否可以发生自动类型转换:1.普通函数可以2.函数模板分情况:1.函数模板要是采用自动类型推导,则不可以自动类型转换。(无法确定T的具体类型)2.函数模板要是采用指定类型,则可以进行自动类型转换3.普通函数与函数模板都可以调用时,优先调用普通函数(即使普通函数没有函数体,此时也不调用函数模板,会报错),可以通过空模板参数列表强制调用函数模板,即在函数名和参数列表之间加一个"<>"4.如果函数模板可以产生更好的匹

2022-01-10 20:18:41 144

原创 CCF邻域均值

不知道错哪里了 一直显示编译错误#include<iostream>using namespace std;int main(){ int n,L,r,t; cin>>n>>L>>r>>t; float A[n][n]; float newA[n+1][n+1],newB[n+1][n+1]; int i,j; for(i=0;i<n;++i) { for(j=0;j<n;++j) { c

2021-05-02 19:19:07 420

原创 CCF回收站选址

CCF题号2019-12-02题目思路:构造一个结构体,每一个点都是一个结点,这个结点存储了该点的横纵坐标和八个方位上是否有其他点的存在,据此,将所有点都进行编排,然后筛选得到符合要求的垃圾集中点源码#include<iostream>#include<string>using namespace std;typedef struct spot{ long x; long y; bool up;//上邻居是否存在,默认不存在flase,以下同理

2021-03-29 22:05:35 132

原创 CCF报数

CCF题号2019-12-01题目记录两种源码方法一致,然而一种得100分,一种只能得70分。日后再来看看是为何满分代码#include<iostream>#include<string>using namespace std;int main(){ int i,j,k,p,q,n; int skip1,skip2,skip3,skip4; skip1=skip2=skip3=skip4=0; scanf("%d",&n); for(int

2021-03-29 13:23:22 258

原创 CCF题稀疏向量

#CCF题目题号2020-06-02题目背景本题有2个坑不可以用数组下标作为维度,因为数组下标是有界限的,因此当声明数组元素个数过大的时候,并不安全抛去这一点,还有一个就是内积的数据类型,要声明为long long型的,因为内积可能很大,如果不注意,这里会出错如果不注意这两点,一般都是60分源码#include<iostream>#include<string>using namespace std;int main(){ int n,a

2021-03-27 22:09:43 199

原创 CCF线性分类器

CCF-CSP题题号2020-06-01题目背景#源码#include<iostream>#include<string>using namespace std;//是否对n组数据分割成功的函数typedef struct query{ int c1; int c2; int c3;}query;typedef struct location{ int x; int y; char kind; }location;//分割函数,输入参数

2021-03-27 12:01:29 134

原创 求二叉树宽度

题目一个二叉树采用二叉链表存储,设计一个函数计算这个二叉树的宽度解题思路采用层次遍历,将每一个结点的信息存储在数组中,结点的信息包括这个结点的层数,以及结点的左右子树,数据类型(为char型字符),然后对这个数组进行遍历,层号数目最多的即为该二叉树最大宽度处的层号,然后计算这个层号的数目,即为最大宽度函数源码int maxNode(BTNode *b) //求该二叉树的宽度,也就是二叉树中最大的度{ St que[maxSize]; int front,rear; //定义顺序非循环

2021-03-11 19:19:21 10726 4

原创 查找二叉树中第k个结点的值

题目假设二叉树采用二叉链表存储结构存储,编写一个程序,输出先序遍历序列中第k个结点的值,假设k不大于结点的总数#函数程序代码块int n=0;//n为全局变量,记录当前访问的结点的位置编号,此为此函数之要点void locate(BTNode *p, int k){ if(p!=NULL) { ++n; if(k==n) { cout<<p->data<<endl; return; } else { locate(p-

2021-03-08 22:05:54 1290

原创 查找data域为key的结点

题目在一棵以二叉链表为存储结构的二叉树中,查找data域值等于key的结点是否存在(找到任何一个满足要求的结点即可),如果存在,则将q指向该结点,否则q赋值为NULL,假设data域为int型函数代码//寻找data域等于key的结点,并用q指向它,若不存在,则q指向NULLvoid search(BTNode *p, BTNode *&q, int key)//注意,这里的q参数定义为引用型指针,因为q要改变{ if(p!=NULL) { if(p->data==key

2021-03-08 21:19:21 604

原创 求二叉树的深度

题目写一个算法求一棵二叉树的深度,二叉树以二叉链表为存储结构求二叉树深度的函数//求二叉树深度int getDepth(BTNode *T){ int LD,RD;//左右子树的深度 if(T==NULL) { return 0;//设定空树的深度为0 } else { //采用后根遍历 LD=getDepth(T->lchild);//求左子树的深度 RD=getDepth(T->rchild);//求有紫苏的深度 return (LD&gt

2021-03-08 20:32:51 3303 1

原创 二叉链表存储表达式求值

#题目表达式(a-(b+c)) * (d/e)存储在如图的一棵二叉树中(树结点data域为字符型),编写程序求该表达式的值(表达式中的操作数都是一位的整数)#测试程序#include<iostream>using namespace std;//二叉树链表结点typedef struct BTNode{ struct BTNode *lchild; struct BTNode *rchild; char data; }BTNode;//构造二叉树BTNode *

2021-03-08 20:04:19 608

原创 数据结构题目记录

题目有两个稀疏矩阵A,B,规格分别是m * n,n * k;现在要求编写一个函数,来计算C=A * B,并且A,B.C矩阵皆由三元组储存。#函数程序段//先将两个三元组转换成矩阵,然后计算两个矩阵的乘积,然后再转化成三元组void trimatmultiply(int A[][3], int B[][3], int C[][3],int m, int n, int k){ int Ak=A[0][0],Bk=B[0][0]; int Amat[m][n],Bmat[n][k],Cmat[m

2021-03-03 22:26:24 88 1

原创 数据结构题目记录

#题目两个稀疏矩阵A,B,都用三元组存储,且两个矩阵行列数相同,现在编写一个函数计算C=A+B,并且也用三元组表示出来C,矩阵都为int型#函数//先把两个三元组转换成矩阵,然后相加,然后把得到的矩阵转换成三元组void trimatsum(int A[][3],int B[][3],int C[][3]){ int m=A[0][1],n=A[0][2],Ak=A[0][0],Bk=B[0][0]; int Amat[m][n],Bmat[m][n],Cmat[m][n]; int p

2021-03-03 21:13:19 96 1

原创 数据结构题目记录

@题目稀疏矩阵A用三元组表示,编写一个函数,计算机A的转置矩阵B,并且也用三元组储存B函数//遍历三元组A,找列号为1的元素void transpose(int A[][3], int B[][3]){ int column;//列优先 B[0][0]=A[0][0]; B[0][1]=A[0][2]; B[0][2]=A[0][1]; if(A[0][0]>1)//如果A[][3]不空 { int k=0;//记录构造B中元素个数 for(int i=0;i<

2021-03-03 20:28:01 70 1

原创 数据结构题目记录

@题目制作给定m*n矩阵A的三元组,要求以两种形式表示三元组。并且利用三元组判断给定元素x是否存在于矩阵中三元组表示方法1下面展示一些 内联代码片。// A code blockvar foo = 'bar';// An highlighted block//三元组第一种表示形式//制作数组A的三元组B[][3]void createtrimat_1(int A[][maxSize],int m, int n, int B[][3])//A为m行n列{ int k=0;//记录

2021-03-03 15:27:31 90 1

原创 数据结构题目记录

题目编写一个函数,对给定的一个m*n的矩阵A,统计这个矩阵中具有以下特征的元素个数,该元素既是所在行的最大值(最小值),又是所在列的最大值(最小值),打印出来这些特殊元素以及其坐标函数// An highlighted blockvoid sort(int A[m][n])//输出格式:先输出所在行列是最小值的元素:先输出这个特殊值,在输出它的位置,然后换行;在输出是最大值的元素{ //造两个数组min[m],max[m],存储每一行的最小值和最大值,并记录其位置坐标 Location m

2021-03-03 14:33:47 112 1

原创 记录十字链表打印矩阵

记录十字链表打印矩阵## 标题源码#include<iostream>using namespace std;#define maxSize 4//十字链表存储矩阵//普通结点结构定义typedef struct OLNode{ int col,row;//列号,行号 struct OLNode *right,*down; float val; }OLNode;//头结点结构定义typedef struct{ OLNode *rhead,*chead;

2021-03-02 22:55:19 158

空空如也

空空如也

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

TA关注的人

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