- 博客(19)
- 收藏
- 关注
原创 队列(Queue),循环队列,双端队列(Deque)and LeetCode刷题
本文介绍了队列(Queue)、循环队列、双端队列(Deque)以及在LeetCode刷题中的应用。重点包括队列的概念、队列的使用方法、队列的模拟实现(链式结构和顺序结构)、循环队列的实现原理、双端队列的特点以及LeetCode刷题中用队列实现栈和用栈实现队列的方法。
2024-07-15 22:39:26
1015
原创 栈(Stack)and leetcode刷题
如果是加减乘除符号,取出一个栈顶元素作为该符号的右操作数,再取出一个栈顶元素做为左操作数,计算得到的结果放入栈中,如此下去,最后栈中只会剩一个元素,这就是最终的结果。当需要取出栈中的元素中,需要依次取出最上面的元素,不能直接取出下面的元素。所以,该栈取出元素的顺序只能为:56,45,34,23,12。假如例子中a,b,c,d,e,f,g分别取1,2,3,4,5,6,7。计算机的工作原理也是这样的,将你输入的中缀表达式转化为后缀表达式,再按照后缀表达式的运算规则进行运算,得到结果!栈的删除操作叫做出栈。
2024-07-13 23:04:16
739
原创 无头双向非循环链表实现
无头双向非循环链表大致与无头单向非循环差不多,只不过每个节点多了个prev引用,可以从后一个节点找到前一个节点。并且除了头节点head,双链表还多了个尾节点tail要模拟实现无头双向非循环链表,同样需要创建三个文件:IList.java接口,MyLinkedList.java文件,test.java测试文件,下面仅展示IList.java接口和MyLinkedList.java文件。
2024-07-12 15:28:02
445
原创 封装,static,代码块,对象的打印
main方法里的花括号里的就是一个普通代码块,有没有发现 “好像a被定义了两次” ,实际上并不是这样的,第一个a相对于第二个a来说就是局部变量,当出了花括号后,变量a就会被销毁,然后再去定义a,也就不会报错了,这可在一定程度上避免因重复定义同一个变量而报错的情况。那么如何去创建一个包呢?我们也可以把static去掉,这样也可以,如果这样,这就是非静态方法了,如果需要去访问这个方法时,就必须先要实例化这个对象,然后只能通过对象的引用去调用这个方法了!,而不是堆区,这也是为什么类变量属于类,而不属于对象。
2024-05-28 16:57:30
899
原创 Java之类和对象
类是什么?类是用来对一个复杂事物(对象)进行描述的,这一概念有点类似于C语言中的自定义类型:结构体,但是Java中的类能够实现更多的功能。举个例子:一个学生类,其中包括属性:学生姓名,学生年龄,学生学号等等,行为:吃饭,睡觉,打篮球等等那么如何使用Java语言来实现一个类呢?field;//字段(属性)或者成员方法method;//成员方法class为定义类的关键字,如果要定义一个类,就必须要用到class关键字;className为所定义类的类名类名采用的是大驼峰。
2024-05-26 16:16:32
706
1
原创 C语言之详解位操作符和移位操作符
详细解释二进制、八进制、十六进制与十进制之间的联系,原码、反码、补码,位操作符,移位操作符,以及在实际中的使用案例
2024-03-02 23:58:47
851
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人