- 博客(36)
- 收藏
- 关注
原创 JAVA:接口中的属性和方法
接口中的静态方法和普通类中的一样,是拥有方法体的,静态方法不需要实例化,而接口本身就不支持实例化,从这点来看,静态方法和接口在一起似乎很配;普通方法例子:default void mehod( ) { System.out.println( "普通方法" );使用default修饰的接口方法,可以拥有方法体,实现类不需要重写,可以被实现类继承。java接口有三种类型:普通方法,静态方法,抽象方法。(3)抽象方法: abstract可以省略不写。,public可以不写。.接口中所有方法都是。
2023-09-19 20:29:08
1448
原创 数据结构与算法:二叉树的存储实现与综合运用。---用C语言实现。 实现建立二叉树,计算二叉树的度,高度(深度),叶子结点的个数,先序,中序,后序遍历二叉树并输出结点。
4.LeafCount计算二叉树的叶子结点的个数。如果是空树,叶子结点树个数为0,如果不是空树,叶子结点树等于左子树叶子结点数+右叶子树叶子结点数。用getchar读取输入的函数,若字符为*,则置为NULL,若字符不为*,则输入到二叉树中。当该节点为根节点时,节点度为2;当该节点为叶子节点时,节点度为0;如果不是空树,则分别计算左子树的深度和右子树的深度,两者中的最大者+1就是二叉树的深度。按照左右根的顺序遍历。2.计算二叉树的度,高度(深度)和叶子结点的个数。3.先序,中序,后序遍历二叉树并输出结点。
2023-06-14 17:13:08
437
原创 数据结构中: 一元多项式的运算(相加,相减,相乘)------用C语言 / C++来实现。 数据结构线性表的操作和应用(顺序存储)
线性表的操作和应用(顺序存储)。用顺序存储实现一元多项式,并进行加、减、乘运算。(5)加法运算 (6)减法运算。(1)创建顺序表 (2)初始化。(3)一元多项式赋值 (4)打印一元多项式。(2)一元多项式结构体创建版块。(4)一元多项式赋值 模块。(5)一元多项式打印 模块。(3)检查初始化版块。(6)加法运算 版块。(7)减法运算 模块。(8)乘法运算 模块。
2023-05-11 22:15:14
2979
2
原创 C语言 / 数据结构中出现报错: 表达式必须包含算数或指针类型,但他具有类型 “XXX” 。 报错问题的解决 以及 方法
elem是该结构体内的一个结构体元素,elem是一个数组。但Elemtype依然不是算数类型,不能等同于int类型。而我们给elem定义的类型是Elemtype ,如下。但elem是一个数组,它的类型明显不是指针类型,那么elem 的类型本质上应该就是一个算数类型,虽然 Elemtype类型的大小是4个字节,介绍:L3 是一个结构体的地址,是一个指针。,因为基本类型和枚举类型的值都是数值。3.数据类型: 包括算数类型。中是程序中用户自定义的整数类型。,因为变量的值是以数字表示。
2023-05-11 14:34:50
4110
原创 C语言/C++/数据结构 编程中出现 -842150451 的情况。为什么以及如何解决
出现 -842150451 的本质我们已经知道(所在的位置没有进行初始化,地址里面没放东西),我们就需要根据自己的代码去思考,去调试哪个地方没有初始化,为什么没有初始化成功。因为出现 -842150451 所在的位置没有进行初始化,就是该地址里面是空的,没有放东西。根据代码出现的问题,我们知道,在合并版块出现了问题,即出现了-842150451。该问题的解决要根据不同代码而异---------因此今天我要讲的是“道”,即方法。ppb(即lb最后元素的位置) 的地址位置 应该 比实际的要大。
2023-05-10 20:20:42
2415
原创 C语言中/数据结构中,出现未处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突 的情况如何处理
(1)指针没有初始化,而且指针没有在主函数中开辟地址会出现:写入访问权限冲突,xxxx是 nullptr 的报错。问题:未处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突。(3)指针访问越界 或者 数据越界 或是 定义的指针未释放.(2)指针初始化了,但是数组(表)没有申请空间。
2023-05-09 23:03:55
2699
原创 c语言中 / 数据结构中代码实践时出现错误:写入访问权限冲突,XXXX是 nullptr。
在使用指针la之前,用malloc 给la 开辟空间。定义了指针la ,但是没有给la 分配地址。
2023-05-08 20:16:18
825
原创 数据结构中顺序表 和 链表的不同/优势/劣势(文字解释 和 图文解释)
从4个方面比较:所占空间,运行时间,具体相关操作(增 删 查 改),和适用情况其中,运行时间的比较放在了 具体相关操作 里面去解读补充:存储密度 = 结点数据本身占用的空间 / 结点占用的空间总量存储密度越大,存储空间的利用率越高顺序表(1)优点:内存空间仅需要存放数据,存储密度大(为1),每个结点所占空间小(2)缺点:顺序存储需要数组来完成,申请的为静态内存空间,预先分配,空间固定,空间可能出现不够用或者浪费的情况链表(1)优点:结点空间可以动态申请和释放,灵活多变,整体空间利用率高,不会出现浪费
2023-04-23 21:52:05
1378
原创 C语言指针: 二级指针 和 指针数组
二级指针ppa 所存放的地址 是一级指针pa的 ,而不是一级指针 pa所存放的a的地址。: 是存放一个一级指针变量的地址的指针变量。二级指针应用:通过解引用找到一级指针所存放的地址的值。3.三级指针,多级指针。
2023-04-13 09:20:10
114
原创 C语言: 初阶指针------指针的运算
字符数组的长度 : printf("%d" , \0的地址 - 字符首元素的地址);是 2个指针指向同一块空间。指针-指针 但2个指针。指向同一块空间 的。
2023-04-12 19:56:54
71
原创 指针初阶---指针是什么?
即需要4个内存,即4个编号,即存储变量a需要有4个地址,但打印变量a的地址是只显示第一个地址的。而且指针的大小是固定的,32位系统 指针大小就是4byte。对于电脑来说,有32位操作系统,即有32个正极和负极,也就是32个bit,即32个二进制位。类似,64位操作系统, 每一个二进制序列(包含64个二进制位),指针大小固定是8byte。每一个二进制序列就是一个地址/指针,指针的大小固定是4byte,指针变量----存放地址的变量-----我们平常也会叫指针。编号-- 即是地址 -- 即是指针。
2023-04-11 12:49:31
85
原创 逗号表达式
对于 if(a = b + 1,c = a / 2,d > 0)运算结果: 逗号表达式的结果是最后一个表达式的结果。真正起到判断作用的是,是否d>0。运算方向: 从左往右。
2023-04-10 20:30:57
96
原创 表达式求值和隐式类型转换(整型提升和算数转换)
char a,b,c;第一步: b 和 c 需要先转换成普通整型(int整型),然后在加法运算第二布:将b+c 的结果(即是32个二进制位) , 进行截断 (即只取后面8个二进制位), 然后放到a中任何变量都具有的2个属性: 值属性和类型属性如: int a = 5;int b = 3;c的值属性: 8c的类型熟悉: int类型sizeof只是针对变量的类型属性。
2023-04-06 13:15:17
86
原创 结构体 和 结构成员访问操作符 : . 和 ->
人:名字,年龄,性别 这些没法用已有的数据类型描述。struct 是语法形式,Book是定义的书的类型 ,{ } 是描述书的详细信息, 最后一定要加;除了int,char,float...等数据类型外,有很多数据没有办法用这些数据类型描述。1.结构体(就是一个自己创建的,用来修饰 现有数据类型 无法修饰 的 数据)所以我们需要一个新的可以描述这些东西的“数据类型”如: 一本书:书名,书号,价格。(1)为什么要有结构体?(2)什么是结构体?
2023-04-04 21:21:28
174
原创 模拟微信发拼手气红包
需要设定 金额, 个数建立test.c 测试版块 project.c 函数实现版块 project.h 引用版块建立循环函数-----实现函数的入口建立存放红包个数的数组(不完全初始化)-----实现红包金额的存放实现 红包的随机分配排查最佳手气。
2023-04-04 12:52:40
508
原创 逻辑操作符
而a++因为在逻辑与中已经先使用了,所以在打印中为1。so,最后打印结果为1 2 3 4。所以,++b 和d++ 并没有执行。对于a++ && ++b,
2023-04-03 19:23:49
73
原创 C语言操作符----位操作符
(也就是 全0,或者全1 为0 有0 和1的为 1)(也就是 有0则0,全1为1)(也就是 全0则0,有1为1)即a = 3,b = 5,交换之后 a = 5,b = 3;a的二进制序列: 00000000000000000000000000000011。(1)题目:交换2个int变量的值,不能使用第三个变量,当a + b 的值超过int型的最大值时,会出现溢出。(3) 按位或的规则是: 相同为0 , 相异为1。(3) 按位与的规则是: 有假则假,全真为真。
2023-04-02 20:05:53
44
原创 移位操作符
移位,移位,移的就是二进制的位,比如:int a = 4;int 是 4个byte,也就是32个bit,也就是32个二进制数。此时,移位移的就是二进制数。反码:将原码的二进制序列,除符号位(最高位)外,其它的按位取反(即1变0,0变1)原码还是10000000000000000000000000000001,打印出来是-1。(a)内存中存放二进制序列时,最高位是0,是正数,最高位为1, 是负数。(b)整数的二进制表示形式,有三种。我们通常采用的是算数右移,下面有例子。打印结果为-1,采用的是算数右移。
2023-03-30 08:50:51
91
原创 C语言中的算数操作符------除号操作符
(b)/ 的两边至少有一个数精确到小数点后。如: double a = 9.0 / 2;% (取余,即取模)(1)需要满足两个条件:(a)变量的类型 需要为 浮点数字类型。得到的数可能不精确,无法展现小数点后面的数。如: int a = 9.0 / 2;(2)若不满足条件(a) 或者 若不满足条件(b)得到的结果就是 4.500000。打印float类型, 需要用 %f。打印double类型,需要用 %lf。如果用 / 想求出带有小数的值。
2023-03-29 14:41:52
1400
原创 c语言编程中出现错误: 表达式必须包含指向对象的指针类型。 该错误如何解决? 下文解答
具体原因是因为arr数组本质是一个指针类型,指向的是首元素的地址,如果用int 来接收显然不合适,以至于在引用下列定义的int类型的变量时候产生错误——表达式必须包含指向对象的指针类型,但他具有类型"int",解决的办法也很简单,将自定义函数的参数中的 char*board 改成char board[ROW][COL]必须包含指向对象的指针类型,但他具有类型"int"char arr[] 的写法比char*arr要好。
2023-03-24 08:33:55
10433
2
原创 字符型数组的疑难点:char ch1[] =“abc“ 和 char ch2[] ={‘a‘,‘b‘,‘c‘} 的区别
char ch1[] ="abc" 有4个元素 : a b c \0。char ch2[] ={'a','b','c'} 有3个元素: a b c。但是ch2 打印完第三个后,没遇到结束标准\0,就一直打印,直至遇到\0。因为ch1 打印完第三个元素,遇到\0 就停止了 所以长度为3。而ch2 需要一直打印,直到遇见\0,才会停止。因为当ch1 打印到第四个元素\0 时就停止了。
2023-03-14 22:34:21
688
原创 如何用代码来实现电脑中“病毒”----关机小程序。 代码的有趣应用~
用代码来让你同学的电脑中“病毒”----关机小程序。 代码的有趣应用~
2023-03-07 11:54:55
1520
5
原创 (有待完善)C语言中数组的长度和大小的疑难点:在字符数组中,\0作为结束标志,不计入字符串长度,但占内存空间。所以如果求数组长度,要用strlen函数,而不能用数组大小/单个元素大小来求
C语言中数组的长度和大小的疑难点:在字符数组中,\n作为结束标准,不计入字符串长度,但要占内存空间。在int 型数组中用arr/arr[0]计算多少下标。在char类型中用strlen来计算。
2023-02-27 22:13:42
1198
原创 for循环中嵌套for循环语句需要注意的事项:变量的初始化问题。以及如何解决该问题。
c语言中需要注意的点。for循环中嵌套for循环语句需要注意的事项:变量的初始化问题。以及如何解决该问题。以一个题目为例,深入剖析挖掘背后深层次需要注意的点。
2023-02-26 10:38:32
572
6
原创 C语言中输入函数scanf在使用中不能加上换行符号\n
C语言中容易让你错误和混淆的点:C语言中输入函数scanf在使用中不要加上换行符号\n
2023-02-25 09:01:12
4237
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人