队列与栈与广义表
队列与栈
- 队列:"先进先出", 使用队列存取数据元素时,数据元素只能从表的一端进入队列,另一端出队列
- 栈:栈内的元素只能通过列表的一端访问,称为栈顶,数据只能在栈顶添加或删除,遵循"先入后出"原则
广义表
含义: 又称列表,也是一种线性存储结构,通数组类似,可存储不可再分的元素也能存储可在分元素
广义表中存储的单个元素称为 "原子",而存储的广义表称为 "子表"
例:创建一个广义表 LS = {1,{1,2,3}},我们可以这样解释此广义表的构成:广义表 LS 存储了一个原子 1 和子表 {1,2,3}
例题1:有广义表LS1=(a,(b,c),(d,e)),则其长度为?深度为?
答:长度为3,深度为2
例题2:有广义表LS1=(a,(b,c),(d,e)),则将其中的字母b取出,操作为?
答:head(head(tail(LS1))) = b
->tail(Ls1) = ((b,c),(d,e))
->head(tail(Ls1)) = (b,c)