00:06
来同学们,那咱们接下来咱就继续再往下吧,啊,那今天讲到这里呢,实际上这个内容已经差不多了啊,挺多了,一维数组二维数组的便利这块我们基本上都已经说了啊,包括内存这块我们也给大家讲了。大家呢,下来之后呢,好好的把这个内存图啊去理解一下啊,就是这个数组在内存上是怎么存的,它的优点是什么,缺点是什么。对吧?哎,一维怎么声明,二维怎么声明,一维数图怎么便利,二维数图怎么便利啊,这就是今天的一个一个重点啊,一个重点,那么接下来咱们干什么呢?接下来我在这儿啊,我给大家布置布置作业题啊,这个题呢。嗯。这样啊。来我打开谁呢?我打开这个。啊。这块。然后是对23的一个课堂笔记,这边对23的一个作业。我这个作业可能有点难。
01:02
不一定能做出来,各位啊,可能之前有同学看过视频的啊,可能能做出来啊。我就布置两道作业题。两道作业题啊,各位。第一题我说一下啊,使用一维数组。啊。编写程序使用一维数组模拟站数据结构。这就是第一题啊,第一题。就编写程序使用一维数组模拟站数据结构。有什么要求?这个占这个占啊,可以存储Java中的任何引用。
02:00
类型的数据。这是要求第一点啊,这个站可以存储Java中任何引用类型的数据。第二点。在占中提供什么呀,提供push方法。模拟什么呀,压站。第三,在站中提供什么呀,Pop方法。模拟什么呀,谈战。站一直压站啊,站满了要提示,要有提示信息,站空了站空了啊,也要有提示信息。然后第四点编写测试程序。啊,六站对象啊,调用push pop方法。
03:04
来模拟什么呀,压战弹战的动作。这个比较难。我大致写个轮廓,各位啊,Public class my stack。这是我自己的一个站对吧?哎,这是我的一个站类呀,然后里边提供什么呀,提供一个数组。来存储什么占中的元素吧?哎,那么这个数组啊,大家看好了,这个占可以存储加入中任何引用类型,那就意味着这个数组怎么着应该是一个什么呀?Object数组吧,它是不是既可以存这个又可以存那个呀,你不要写animal啊,你写animal就具体的嘛,你写object。啊,数组elements。Elements,然后呢,你可能还需要提供提供这个提供这个构造方法吧,提供push方法吧,提供pop方法吧,对吧,Push方法。
04:14
压战嘛,是不是啊,然后呢,泡泡方法是谈战吗。弹站啊,压榨是站中多一个元素。注意啊,压站表示站中多一个元素。啊,但是占如果已满。对吧,就不能压战了啊,伊马压战失败,压战失败。啊,这个方法的参数,这个方法的参数以及返回值类型自己定义啊泡呢是弹战是吧,弹战表示占中少一个元素啊占中少一个元素。
05:11
但是如果以空。战以空啊,应该是弹战什么失败啊,弹战失败,那么同样这个方法的参数以及返回值类型自己定义啊,然后在这里你写一个main方法去测试一下啊,Men测试啊,大概的这个代码呢,我只能给你写这么多啊,再写出来了。啊,你自己下去之后呢,去实践一下啊,模拟一下,就是说我们这个类里边有一个,哎,一维数组对吧?哎,你压站呢,就是往这个数组里面放东西,然后呢。痰战呢,其实就是把数组里面数组某个元素再减少吧,是不是啊,那你构造方法这一块。应该有一个初始化容量吧,构造方法是不是应该给一维数组一个初始化容量,比如说我这里可能有无参构造,我调用无参数构造方法的话,这个数组给它扩大扩多大的空间,比如说我默认存十个元素,那这样的话,这这块就应该有个默认的一个一个长度啊。
06:21
然后呢,这个战里边还有个东西叫战争对吧,战。针还记不记得战针指向什么,永远指向什么,永远指向指向站顶部的元素吧?哎,所以这边是不是应该有个下标。这个最初是不是应该是等于零。就代表指向数组的第一个元素嘛,断针嘛,加一个是零,如果再加第二个元素,那这个是不是应该变成一。再加第三个元素是不是应该变成二是吧?哎,这应该是占针啊,永远指向占顶部的元素,这边应该是有个下标的,要不然你将来怎么判断它满没满啊,满没满的条件是什么?如果你这个战争目前指向的那个位置。
07:11
和你这个数组的长度。一样的话,那我问大家是不是就相当于。你每加一个元素,战争是不是要加一,每每注意啊,就是。加一个元素酶啊,镁。加一个元素。但真加一。每减一个元素,干针减一。啊,你你你你看看怎么弄啊,怎么弄,大概说一下。
我来说两句