楼主: jaly50
跳转到指定楼层
上一主题 下一主题
收起左侧

Berkeley CS 61B Data Structures(in Java) Lab3 讨论帖

 
🔗
huangzshi 2017-3-31 12:20:28 | 只看该作者
全局:
这个Lab比较简单~
回复

使用道具 举报

🔗
lsxzll 2017-4-3 11:17:08 | 只看该作者
全局:
一开始读完晕乎乎的。。。汗。。。

Lab3.jpeg (126.55 KB, 下载次数: 2)

Lab3.jpeg
回复

使用道具 举报

🔗
zh 2017-4-14 12:43:06 | 只看该作者
全局:
AllenChen 发表于 2017-3-18 16:42
打卡,这一次作业虽然简单,但却有很多问题,导致做了好久,1.创建Slist 为什么不能用SList s =new SList() ...

因为我觉得你后面忘了加 new了。
  1. SList s = new SList();
  2.         SListNode a = new SListNode(6, new SListNode(9, new SListNode(12)));
  3.         s.head = a;
  4.         System.out.println(s);
  5.         s.insertFront(3);
  6.         s.insertEnd(15);
  7.         System.out.println(s);
复制代码
我是这样运行的,可能咱俩想的是一样的,这个可以运行出来。
回复

使用道具 举报

🔗
zh 2017-4-14 16:04:45 | 只看该作者
全局:
lsxzll 发表于 2017-4-3 11:17
一开始读完晕乎乎的。。。汗。。。

话说层主你在改完tail指针之后,在main函数里面你是怎么定义s.tail的,我发现我没定义程序是按照tail= null 算的呀?我看层主是最近才做lab3的,才来问。求解答。
回复

使用道具 举报

🔗
Wei Zhang 2017-4-15 23:29:10 | 只看该作者
全局:
zh 发表于 2017-4-14 16:04
话说层主你在改完tail指针之后,在main函数里面你是怎么定义s.tail的,我发现我没定义程序是按照tail= nu ...

为什么要在主函数里定义s.tail?
回复

使用道具 举报

🔗
zh 2017-4-16 07:58:13 | 只看该作者
全局:
Wei Zhang 发表于 2017-4-15 23:29
为什么要在主函数里定义s.tail?

我当时说错了,我想说我在constructor里面定义tail的时候。我贴一下代码吧~
  1.     public SList(int a, int b, int c) {
  2.         head = new SListNode(a, new SListNode(b,new SListNode(c)));
  3.         tail = new SListNode(c);
  4.         size = 3;

  5.     }

  6.     public static void main (String[] args) {
  7.         // Fill in your solution for Part I here.
  8.         SList s = new SList(6,9,12);

  9.         System.out.println(s);
  10.         s.insertFront(3);
  11.         System.out.println(s);
  12.         s.insertEnd(15);
  13.         System.out.println(s);

  14.         testEmpty();
  15.         testAfterInsertFront();
  16.         testAfterInsertEnd();
  17.     }
复制代码
下面这个是插入的方法。
  1.     public void insertFront(Object obj) {
  2.         head = new SListNode(obj, head);
  3.         if (tail == null){
  4.             tail = head;
  5.         }
  6.         size++;
  7.     }

  8.     public void insertEnd(Object obj) {
  9.         if (tail == null) {
  10.             head = new SListNode(obj);
  11.             tail = head;
  12.             size ++;
  13.         } else {
  14.             tail.next = new SListNode(obj);
  15.             tail = tail.next;
  16.             size ++;
  17.         }
  18.     }
复制代码
但是我的输出结果一直是最后一位一直是12,不知道问题出在哪里了。下面的都没问题,就是上面那三行不行。

屏幕快照 2017-04-16 上午7.57.27.png (120.86 KB, 下载次数: 2)

屏幕快照 2017-04-16 上午7.57.27.png
回复

使用道具 举报

🔗
lsxzll 2017-4-16 09:54:02 | 只看该作者
全局:
zh 发表于 2017-4-16 07:58
我当时说错了,我想说我在constructor里面定义tail的时候。我贴一下代码吧~下面这个是插入的方法。但是我 ...

结果上看,就是15没有插入进去。。。
因为什么没想明白。。。但应该是问题出在 SList s = new SList(6,9,12);

但是如果构建s时就先建空的,然后一个个插入新的end就没有问题
SList s = new SList();
            s.insertEnd(6);
            s.insertEnd(9);
            s.insertEnd(12);
回复

使用道具 举报

🔗
zh 2017-4-16 09:58:11 | 只看该作者
全局:
lsxzll 发表于 2017-4-16 09:54
结果上看,就是15没有插入进去。。。
因为什么没想明白。。。但应该是问题出在 SList s = new SList(6,9 ...

呀我重新试了试,真的成功了,太感谢了,我在研究一下是哪里出问题了。
回复

使用道具 举报

🔗
lsxzll 2017-4-16 10:04:34 | 只看该作者
全局:
zh 发表于 2017-4-16 09:58
呀我重新试了试,真的成功了,太感谢了,我在研究一下是哪里出问题了。

...研究出来一定告知下 多谢 多谢
回复

使用道具 举报

🔗
mrhfw 2017-4-25 18:32:13 | 只看该作者
全局:
打卡   这个lab满和谐的。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表