- 博客(35)
- 收藏
- 关注
原创 问题 A: 链表节点逆置(线性表)
方法一} SqList;//初始化线性表if (n < 3)exit(-1);//尾插法i < n;i++) {elsep2 = p1;= NULL) {//链表的逆置break;int n;return 0;方法二#include#includeint n;int main()
2023-12-02 20:07:03
99
原创 蓝桥杯每日一题
当余数为零时,a%b=0的时候,返回除数b(也就是当前调用函数的a).if(b==0) return a;//返回a,即返回上一步的b。除数传过去当a(被除数),余数传过去当b(除数),如此循环。辗转相除法求最大公约数。
2023-11-13 19:21:31
167
原创 数据结构之二叉树及其操作(代码)
char data;//数据域//左孩子//右孩子int top;}sq;int front;/*头指针*/int rear;/*尾指针,若队列不空,指向队列元素的下一个位置*/
2023-11-02 18:14:58
315
1
原创 23.Java基础之数据表现与分离
怎样实现好这一步,那就是画图,看对象之间,类之间有怎样的关系,谁需要知道谁,谁有不需要知道谁,这种互相知道的关系越少越好,因为一个类如果要知道另一个类,另一个类也知道这一个类,那么代码写出来耦合成度就很高,没有可扩张性,通用性差,具体还是要回前两节进一步体会。
2023-10-31 20:38:58
60
原创 22.Java基础之抽象
有抽象函数一定是抽象类,抽象类不能定义对象,因为我可以让你画一个长方形,原形,但却不能让你画形状,它只是代表一个抽象的概念。子类继承了抽象类以后,必须要实现抽象类里面的函数进行覆盖, 否则它继承了抽象函数,那么他也变成了抽象类,不能定义对象。但是,抽象类作为父类,可以定义子类的一个变量(对象),如图描述。shape是一个抽象类。
2023-10-31 20:31:18
54
原创 21.Java基础之封装(框架加数据)
System.out.println("你现在在"+currentRoom+" "+currentRoom.getExitDesc());System.out.println("你现在在"+currentRoom+" "+currentRoom.getExitDesc());System.out.println("如:\tgo east");System.out.println("这是一个超级无聊的城堡游戏");System.out.println("那里没有门");
2023-10-31 13:31:09
85
原创 20.Java基础之封装(重要)
System.out.println("现在你在" + currentRoom);System.out.println("你在" + currentRoom);System.out.println("如:\tgo east");outside = new Room("城堡外");bedroom = new Room("卧室");System.out.print("出口有:");lobby = new Room("大堂");study = new Room("书房");// 初始化房间的出口。
2023-10-30 20:36:55
61
原创 19.Java基础之多态变量
/可以,把这种用法叫作造型,并且item的管理者必须是CD类型才可以,其实这很好理解,子类比父类"大"(包含的东西多),子类放到父类完全可以,父类比子类小,放到子类必然会确实一些东西,除非这个父类是"伪装"成父类的子类,我们用一个(CD)拆穿它的伪装.取决于这个item里面到底是什么东西,可能是item(当然这道题里面不是),可能是CD,可能是DVD.这取决于你往里面填充的顺序(这道题里可以这样说),具体识别的底层设计早就写好了,不需要我们管.其实,下面的向上造型就显得自然而然了,很好理解。
2023-10-30 16:04:54
60
原创 18.Java基础之继承(重要)
【翁恺 Java程序设计】 https://www.bilibili.com/video/BV1DJ411B7cG/?这写改进细节比较多,一时半会梳理不完。具体可以看看翁恺老师的视频。例子:媒体库资料的设计。
2023-10-30 15:34:57
62
原创 17.Java基础之集合容器
集合容器之所以能直接输出,可见人家早就把这个函数在ArrayList类和HashSet类里面写好了,我们只需要导包直接用就可以了。//每一个a[i]都代表了一个对象。for(Value k:b)//k依次等于b[i]成为第i个对象的管理者。//c[i]是第i个字符串的管理者。for(int k:a)//for-each循环遍历数组。//那么对于泛型容器ArrayList呢?//那么对于字符数组呢?//那么对于对象呢?
2023-10-30 12:58:54
56
原创 16.Java基础之泛型容器类
/将字符串添加到容器中下标为location的字符串前面。//将字符串添加到容器中下标为location的字符串前面。for(Value k:b)//k依次等于b[i]成为第i个对象的管理者。//移除下标为index的字符串;//将容器中的字符串填充到字符串数组a中。//移除下标为index的字符串;//将容器中的字符串填充到字符串数组a中。//得到容器中下标为index的字符串。//得到容器中下标为index的字符串。//将字符串添加到notes容器中。//将字符串添加到notes容器中。
2023-10-29 16:54:13
58
原创 15.Java基础之类与对象
static函数和static函数可以互相调用,也可以用static函数访问static变量,但是该函数不能直接访问对象的属性,不能直接value++,和对象没有关系,就是类内部自带的函数或变量叫作类函数/类变量。类变量就是类自带的变量,和对象没有关系,只不过可以通过对象访问。staic,废话不多说,直接上图。static修饰的函数。
2023-10-29 16:24:53
50
原创 14.Java基础之包
表示c这个类在b文件夹下,而且要用到java文件夹下的until文件夹下的Scanner类。我们用到不同包里的类,就要进行导包。
2023-10-29 15:46:52
53
原创 13Java基础之类与对象(对象的交互)
例如,clock对象是由hour和minute这两个对象组成的.hour和minute这两个之间本没有任何关联,但是通过clock这个对象就可以把这两个对象联系起来,这就是对象的交互。既没有public,也没有private,那么我们叫这个函数为friendly,只要是位于同一个包内的.java文件都可以访问它。但是要求.java的文件名必须和public所修饰的类名相同,而且一个.java文件中只允许出现一个public修饰类。我们重点所要表达的是,一个类里面的成员变量可以是其他类的对象。
2023-10-29 15:24:21
63
1
原创 12.Java基础之类与对象
/对象的初始化,此时Vendingmachine类里面是有一个Vendingmachine()的构造函数的,只不过隐藏了,你也可以把他给写出来。有关构造函数在类里边的调用执行顺序,先跳转到构造函数,在执行成员变量的初始化,在执行构造函数里面的内容,执行完返回到调用处。System.out.println("卡内余额不足以购买该商品,请充值");System.out.println("商品余额="+balance);成员变量的生存期就是对象的生存期,作用于就是类内部的成员函数。
2023-10-29 14:47:49
60
1
原创 11.Java基础之类与对象
例如:人类,人类(这个类里面包含了身高啊,长相啊等一些属性,以及劳动啊,繁殖啊等一系列操作)里面涵盖了许许多多的人这种对象,每一个人都有身高这种属性,但每一个人的身高又不一定相同(一般不相同).类里定义多个属性,每一个类涵盖多个对象,每一个对象都具有类里面定义的属性,但是每个对象的属性又是不一样的;System.out.println("卡内余额不足以购买该商品,请充值");System.out.println("商品余额="+balance);System.out.println("欢迎下次光临");
2023-10-28 20:41:32
55
1
原创 10.Java基础之函数(本地变量)
只有在给这个变量第一次赋值的时候,该变量才会被初始化,函数结束时,变量所在的内存空间被释放。作用域:该变量只在自身所处的大括号内起作用,大括号外无法识别到该变量.定义该变量的时候该变量出现了,但是,它还没有被初始化。
2023-10-28 19:21:58
53
1
原创 8.Java基础之字符串
一个是比较是不是同一个字符串,另一个a.equals(" ")是比较字符串内容是不是相同。switch结构在字符串中的应用(版本低了不可用)还可以直接String s="hello";字符串在连接时会自动把要连接的也变成字符串。注意next和nextLine的区别。把14行的s1换成s3会报错。
2023-10-28 17:09:29
52
1
原创 6.Java基础之数组的创建
上面我们用for(int i=0;i++)这一循环遍历数组,其实还有更简单的写法。grade.length,数组名字.length可以直接获取数组的长度,上图中显然第二段程序通用性更好。在定义一个a2管理相同的一块数组内存,对a2里的每一个数加1,其实就是对a1里的数加1。//数组的大小为10。还可以写成for(int k:grade)表示令k依次等于数组中的元素。这里的a,b可以看成是数组的管理者,感觉和c里面的指针区别不大。下面是对数组变量进行总结。
2023-10-28 15:48:16
49
1
原创 4.Java基础之for循环
System.out.println("需要"+five+"个"+5+"需要"+six+"个"+6+"需要"+ten+"个"+10);System.out.println(n+"不是素数");System.out.println(n+"是素数");当n=2时,for循环是连第一次也不会执行的,因为有i
2023-10-26 19:08:19
56
原创 2.Java基础之循环
System.out.println("* 票价10元 *");System.out.println("* 无指定座位票 *");System.out.println("找零: "+(balance-10));System.out.println("*Java城际铁路专用线 *");System.out.println("请投币");从上面两个练习中体会区别;发现当边界数据为0是,程序有bug。测试数据123,10,0,1;
2023-10-25 21:18:22
56
1
原创 1.Java基础之判断和比较
我们在学习Java等一些编程语言时,我们是先学习基础知识,在看具体实例,那么我们可不可以先看具体实例,再将基础知识抽离出来呢,答案是肯定的;System.out.println("* 票价10元 *");System.out.println("* 无指定座位票 *");System.out.println("找零: "+(amount-10));System.out.println("*Java城际铁路专用线 *");大于等于>=,小于等于
2023-10-25 16:46:15
56
1
原创 问题 K: C语言实验——输入数字星期,输出英文(选择结构-switch)
从键盘上输入数字星期,然后输出它的英文: 其对应关系是 1 Monday 2 Tuesday 3 Wednesday 4 Thursday 5 Friday 6 Saturday 7 Sunday。输入的数字在1-7之内,则输出该数字对应的英文表示。
2023-02-09 13:59:52
2285
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人