入门题目
HBWYZ007
这个作者很懒,什么都没留下…
展开
-
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 · 341 阅读 · 0 评论 -
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 · 1594 阅读 · 0 评论 -
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 · 453 阅读 · 0 评论 -
求二叉树宽度
题目一个二叉树采用二叉链表存储,设计一个函数计算这个二叉树的宽度解题思路采用层次遍历,将每一个结点的信息存储在数组中,结点的信息包括这个结点的层数,以及结点的左右子树,数据类型(为char型字符),然后对这个数组进行遍历,层号数目最多的即为该二叉树最大宽度处的层号,然后计算这个层号的数目,即为最大宽度函数源码int maxNode(BTNode *b) //求该二叉树的宽度,也就是二叉树中最大的度{ St que[maxSize]; int front,rear; //定义顺序非循环原创 2021-03-11 19:19:21 · 10941 阅读 · 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 · 1399 阅读 · 0 评论 -
查找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 · 669 阅读 · 0 评论 -
求二叉树的深度
题目写一个算法求一棵二叉树的深度,二叉树以二叉链表为存储结构求二叉树深度的函数//求二叉树深度int getDepth(BTNode *T){ int LD,RD;//左右子树的深度 if(T==NULL) { return 0;//设定空树的深度为0 } else { //采用后根遍历 LD=getDepth(T->lchild);//求左子树的深度 RD=getDepth(T->rchild);//求有紫苏的深度 return (LD>原创 2021-03-08 20:32:51 · 3414 阅读 · 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 · 680 阅读 · 0 评论 -
数据结构题目记录
题目有两个稀疏矩阵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 · 151 阅读 · 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 · 127 阅读 · 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 · 95 阅读 · 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 · 112 阅读 · 1 评论 -
数据结构题目记录
题目编写一个函数,对给定的一个m*n的矩阵A,统计这个矩阵中具有以下特征的元素个数,该元素既是所在行的最大值(最小值),又是所在列的最大值(最小值),打印出来这些特殊元素以及其坐标函数// An highlighted blockvoid sort(int A[m][n])//输出格式:先输出所在行列是最小值的元素:先输出这个特殊值,在输出它的位置,然后换行;在输出是最大值的元素{ //造两个数组min[m],max[m],存储每一行的最小值和最大值,并记录其位置坐标 Location m原创 2021-03-03 14:33:47 · 184 阅读 · 1 评论