come_from_pluto
鄙人张钊_有何贵干
采纳率40%
2015-04-22 13:14

关于链栈头指针的问题

已采纳

图片说明图片说明图片说明以上为链栈程序(无错),但为什么不能将直接用struct node 定义一个top指针,而要用一个结构体里面放top指针。如果直接用struct node 定义一个top指针那么入栈部分将出错,为何?或者说这两者区别在哪?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • dp30737 dp30737 6年前

    ** 楼主,注意看你设计的数据结构,如果你用struct node *top 直接指向头的话,那么这个top包含2个内容, 1: int data ; 2: struct node *next ;
    这样的话在你操作的时候,不是很方便,你这样的top自己本身就是一个存储数据的结构了,如果你只是把第一个节点出栈的话,那你的头节点就不好操作了。
    相反,你用一个 struct link{struct node *top} top; 的话,你相当于给这个链表创建了一个手柄,可以操作其他的数据的,灵活性高好多。假如你要
    删除第一个元素,此时top指向第一个元素,而他本身不是第一个元素,这样就好操作多了!

    点赞 评论 复制链接分享
  • zxh707wk 707wk 6年前

    看到发的是图片我就默默地关了页面

    点赞 评论 复制链接分享
  • yiyi__baby G____yiyi 6年前

    请问你的问题是神马。。。

    点赞 评论 复制链接分享

相关推荐