- 博客(19)
- 收藏
- 关注
原创 C++继承与多态
1)基类的公有和受保护类型,被派生类私有继承吸收后,都变成派生类的私有类型,即在鑫恒源函数可以访问,不能在类外访问。3)基类中的保护成员,在派生类依然是保护类型,可以通过派生类的成员函数访问,单数不可用派生对象访问。1)基类中的公有成员,在派生类中依然为公有成员,当然无论拍胜利的成员函数还是派生对象都可以访问。2)基类中的私有成员,无论在派生类中的成员函数还是派生对象都不可以访问。2)而基类的私有成员,在派生类无论类内还是类外都不可以访问。1)基类的公有成员和保护类型成员在派生类依然为保护成员。
2024-11-28 00:27:18
301
原创 栈和队列0
对于n个不同的元素,所有可能的出栈顺序的总数可以用第n个卡特兰数来计算。第n个卡特兰数的计算公式是: [ C_n = \frac{1}{n+1} \binom{2n}{n} ] 其中,( \binom{2n}{n} ) 是组合数,表示从2n个不同元素中选择n个元素的组合方式数。此时栈的状态是从栈底到栈顶依次为:2, 3, 2, 2。将十进制整数转换为八进制通常使用除以8取余数的方法。例如c_4=(1/(4+1))*8!=1/5*=4/7;转换完成后,从栈顶依次取出的余数是八进制数,即2322。
2024-11-26 20:42:40
136
原创 可大可小的容器-——向量
对于从数据库中查询得到的数据,主要有两种保存方式——数组向量数组和向量的区别:数组的长度是固定的,我们并不知道能查询到多少符合条件的数据,所以就有了向量。
2024-09-25 09:38:18
352
原创 构造函数和析构函数
public://构造函数//析构函数~MyClass()cout<<endl;在则合格李周四中,MyClass有一个动态分配的整形数组arry 构造函数结束一个整形参数size,并使用new运算符分配一个整形数组。析构函数使用delete[]运算符释放这个数组使用析构函数int mian()MyClass abj(10)//调用构造函数return 0;//程序结束 ,调用析构函数。
2024-09-20 18:01:30
335
原创 链表的插入
插入链表具体思路及其算法1,查找要插入值的具体位置即需要找插入值的前驱2,分情况讨论1、遍历完q循环结束也并非找到比elem更大的数据{a、链表为空链表 b、elem就是最大值 插入尾部即可}2、 找到了比elem更大的值{c、elem是整个链表中最小的值 插入头部做头结点 d、非空链表中elem就是最大值 插入尾部 q->next=s e、找到了比elelm更大的值}3、常规创建遍历链表释放资源例题。
2024-05-14 09:41:39
743
1
原创 C语言结构体全解
3个同学都建立了微信账号,账号信息包括:用户名,密码,头像,年龄,生日(这几个变量不同类型的变量所以不能直接用数组来储存的)需要用到结构体 --------->结构体可以储存不同类型的变量 当然结构体也可以储存结构体变量(了解即可 并非重点)上述代码需要注意的是:之前所学过的字符字符数字赋值要用到库函数 而不能直接用赋值等号(==)
2024-05-07 18:29:57
362
1
原创 【指针数组】与【二维数组】的应用
输入一个m行n列(m,n<=6)的二维数组,输出所有内容。以上是详细代码加注释 ,希望能够帮助到大家。接下来m行每行输入n个整数。
2024-04-14 17:13:38
164
1
原创 二维数组+指针
注意:&a[M-1][N-1]+1是一个指针,表二维数组a的最后一个元素的下一个元素,如果直接将其写成&a[M][N]那么循环将会从二维数组的最后一个元素开始而不是最后一个元素的前一个元素开始。这可能导致访问数组使发生越界的情况。&a[M][N]实际上是指向a的一个地址,而&a[M-1][N-1]+1则表示最后一个元素的下一个元素。从键盘输入12个整数,存入到3行4列的二维数组中,求和并输出数组及和的结果。这样就可以确保循环从数组的最后一个元素开始。输出三行四列的二维数组及和的结果。
2024-04-14 13:39:22
396
1
原创 【指针与二维数组】求二维数组的最大值
需要注意的是,在循环中,我们使用了指针的递增操作,而不是使用了数组的索引,这是因为数组的内存是连续储存的,指针是通过递增操作依次访问数组的每一个元素的,而数组的索引需要用循环遍历整个数组,因此,使用指针递增操作可以更加高效的访问数组的元素。二维数组的总行数可以用m*n来表述,因为二维数组可以看走一个矩阵,其中每个元素都是一个一维数组,在矩阵中,每一行代表一个一维数组,每一列页代表一个一维数组,因此总行数就是一维数组的个数,而总列数就是每个一维数组的总长度。2.判断row二维数组的总行数(m*n)
2024-04-14 12:23:32
580
1
原创 二维数组指针习题来咯
分布解释到位:eg:a+0是第一行的地址,所以a+0*n;表示第一行有n列即第一行所有元素的地址,所以(a+0*n)+0,则就表示第一行第一列的元素的地址即*(a+0*n)+0即是其所指向的内容即第一行第一列的那个元素。需要理解透彻才能准确把握题目,多做题从题目中悟出其中的奥妙需要慢慢理解,千万不可急于求成,指针需要花费时间去学习,加油!从键盘输入数值,构成一个3行4列的二维整型数组,设计函数对每个元素执行加1操作,然后在主函数中输出该数组的内容。*((a+i*n)+j)表示指向第i行第j列元素的指针。
2024-04-13 21:38:17
871
3
原创 【函数 数组 指针】求整数因数
要求:设计一个函数 int yinshu(int n,int *a) //result将返回所有因数结果,因此,实际参数必须是数组;该函数的功能是,从字符串str1中,从序号index开始(第1个字符的序号为0),提取length个字符,复制给字符串str2。n求一个正整数(1~32767)的所有因数(能整除该数且小于其本身的数),数与数之间用空格隔开,例如输入12,输出:1 2 3 4 6。第2行是2个整数,第1个整数是起始序号,第2个整数是提取的字符个数。求整数因数即就是取余为0的数。
2024-04-11 23:14:14
492
1
原创 【C语言】【指针与数组】计算平均分及人数统计
要求:设计一个输入数据的函数 void inputarray(int * a,int *n) //a是指向数组的指针,n用于返回实际输入数据个数。输入n(n<20)个整数,统计数组中大于平均值(含相等的值)和小于平均值的比例,并输出结果,其中大于平均值(含相等的值)在前,小于平均值在后。这一操作的目的是要求求高于平均值和低于平均值人数的最大公约数,然后记录他们除以最大公约数的值,最后输出他们的比列形式。算法:“”统计数组中大于平均值(含相等的值)和小于平均值”同上,主要是求平均值,然后进行比较,
2024-04-11 18:52:51
2556
1
原创 问题 D: 【函数 数组 指针 】分数转换成等级
2.分数是0-100 如果写五个分数那就只能判断那个分段的等级 ,但一般情况是1-100的分值。转换结果,注意outscore数组要用p 指针访问,使用指针将其地址保存起来。3.switch 函数切记不要忘记break;将输入的5个成绩转换成对应的等级输出。输出5个字符等级,用空格分隔。
2024-04-11 17:10:16
422
1
原创 【问题C】: 【数组 函数 指针】求数组元素最大值
7 5 8 9 6 4 7 39#include<stdio.h>#define N 100//宏定义void findLargest(int a[],int n,int *pmax);//*pmax是通过指针来返回最大值int main(){ int a[N],i,n,max; scanf("%d",&n);//第一行输入一个数字n; for(i=0;i<n;i++) scanf("%d",&a[i]);//第二行输入n个数 findLargest(a,n,
2024-04-10 14:14:06
432
1
原创 写指针与数组的代码
指针p指向数组a的元素a[i],常有以下3种方式1. p=a+i;2. p=&a[i];3. 先让p指向数组a,即指向a[0],然后让p不断地++,让它分别指向a[1]、a[2]、.........。下面,你就尝试一下,用这种方式,让指针指向数组元素。
2024-04-09 23:48:26
819
指针p指向数组a的元素ai,常有以下3种方式 1. p=a+i; 2. p=&ai; 3. 先让p指向数组a,即指向a
2024-04-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人