鱼C论坛

 找回密码
 立即注册
查看: 2504|回复: 9

[已解决]C

[复制链接]
发表于 2018-8-22 20:25:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请问借口是什么?比如队列的接口?
这些接口有什么意义?
最佳答案
2018-8-23 16:53:30
海绵爱上星 发表于 2018-8-23 16:26
可以这样理解吗,,我要对某个栈或者队列进行更新,那么所谓的接口就是栈的最外面的那一个位置(或者是数 ...

可以这样理解吗,我要对某个栈或者队列进行更新,这样去理解是有问题的

那么所谓的接口就是栈的最外面的那一个位置(或者是数据)??

【栈】与【队列】的设计是用于暂存资料的。因此没有所谓的更新。当然可以说更新是把新的资料给放进栈或队列当中,但是在执行程序的时候,会把它给清空
比如说有一个数要头尾对调 1234  -->  4321
可以放到栈(先进后出)中  1234  >> 234 >> 34 >> 4  >> [空]
    放到栈中的数据(压栈):[空] >> 1  >> 21  >> 321 >> 4321
    释放栈中的数据(出栈):4321  >> 321  >> 21  >> 1 >> [空]
              显示数据(出栈): [空] >> 4  >> 43  >> 432  >> 4321
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-8-22 20:32:52 | 显示全部楼层
资料的出入口。队列就是要排队的,先进先出,所以有两个接口,一个进,一个出

到栈的时候,是一个接口而已 --> 先进后出
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-22 20:37:30 | 显示全部楼层
claws0n 发表于 2018-8-22 20:32
资料的出入口。队列就是要排队的,先进先出,所以有两个接口,一个进,一个出

到栈的时候,是一个接口而 ...

从那个地址里出来吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-22 20:43:36 | 显示全部楼层
海绵爱上星 发表于 2018-8-22 20:37
从那个地址里出来吗?

??明确的地址不重要,因为是链式存储结构
不是有一个头结点吗?数据从那里出来
有一个尾结点,数据从那里进入队列
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-23 01:03:39 | 显示全部楼层
claws0n 发表于 2018-8-22 20:43
??明确的地址不重要,因为是链式存储结构
不是有一个头结点吗?数据从那里出来
有一个尾结点,数据从 ...

接口是不是就是一个函数啊?。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-23 01:42:52 | 显示全部楼层
海绵爱上星 发表于 2018-8-23 01:03
接口是不是就是一个函数啊?。。。

你现在看【数据结构与算法】不是吗?帮你转过去~

不全然是/不是……首先,队列是透过结构定义的
                                                                                                      尾结点
[头结点|  ]  --->  [e1|  ]  --->  [e2|  ]  --->  [e3|  ]  --->  [e4|  ]  --->  [NULL|  ]
     接口                                                                                             接口
(输出端)                                                                                    (输入端)

至于怎么实现数据的【插入】与【取出】,当然是透过函数,但函数只是实现这个操作的方法或手段而已。接口,其实就是【输入端/输出端】的别名。就好像【服务柜台】也称【窗口】
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-23 15:52:15 | 显示全部楼层
claws0n 发表于 2018-8-23 01:42
你现在看【数据结构与算法】不是吗?帮你转过去~

不全然是/不是……首先,队列是透过结构定义的

这个接口是谁才有的。。。队列,数组这些才有接口???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-23 16:06:13 | 显示全部楼层
海绵爱上星 发表于 2018-8-23 15:52
这个接口是谁才有的。。。队列,数组这些才有接口???

亲,您是在哪里看到的?有些 C 的书会讲,但是小甲鱼老师的《带你学 C 带你飞》里没有,在《数据结构与算法》才会介绍,可以到哪里去了解更多

数组严格来说没有接口,因为它的接口太多,你可以直接找到数组的位置,并对取值或修改
队列与栈的接口就更有意义了,因为它们的接口是被封装即限制的。队列只有两个接口,而栈只有一个接口。
比如说到邮局或一些服务单位去,我们只能跟柜台接洽。

队列与栈是结构体。不是所有的结构体都有,而是要在结构体内部去设计。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-23 16:26:28 | 显示全部楼层
claws0n 发表于 2018-8-23 16:06
亲,您是在哪里看到的?有些 C 的书会讲,但是小甲鱼老师的《带你学 C 带你飞》里没有,在《数据结构与算 ...

可以这样理解吗,,我要对某个栈或者队列进行更新,那么所谓的接口就是栈的最外面的那一个位置(或者是数据)??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-23 16:53:30 | 显示全部楼层    本楼为最佳答案   
海绵爱上星 发表于 2018-8-23 16:26
可以这样理解吗,,我要对某个栈或者队列进行更新,那么所谓的接口就是栈的最外面的那一个位置(或者是数 ...

可以这样理解吗,我要对某个栈或者队列进行更新,这样去理解是有问题的

那么所谓的接口就是栈的最外面的那一个位置(或者是数据)??

【栈】与【队列】的设计是用于暂存资料的。因此没有所谓的更新。当然可以说更新是把新的资料给放进栈或队列当中,但是在执行程序的时候,会把它给清空
比如说有一个数要头尾对调 1234  -->  4321
可以放到栈(先进后出)中  1234  >> 234 >> 34 >> 4  >> [空]
    放到栈中的数据(压栈):[空] >> 1  >> 21  >> 321 >> 4321
    释放栈中的数据(出栈):4321  >> 321  >> 21  >> 1 >> [空]
              显示数据(出栈): [空] >> 4  >> 43  >> 432  >> 4321
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 20:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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