链式存储单链如何实现队列
队列的链式存储结构也可以用单链表实现。插入和删除操作分别在链表的两头进行,队列指针front和rear都应该在链表头,不能在尾,因为是单链表。
队列的链式存储结构也可以用单链表实现。插入和删除操作分别在链表的两头进行,队列指针front和rear都应该在链表头,不能在尾,因为是单链表。
数组如何实现队列?我们可以定义队列结构,成员有一维数组,一个记录队列头元素位置front,一个记录队列尾元素位置rear组成。
栈的链式存储结构实际上就是一个单链表,叫做链栈。插入和删除操作只能在链表的栈顶进行。
栈顶应该指向链头。有人就会问了指尾不行吗?不可以的。
用链式存储实现思想:不要求逻辑上相邻的两个元素物理上相邻,通过“链”建立起数据之间的逻辑关系。逻辑相邻:指两个元素是挨着的,(比如1,2,3)物理相邻:指两个元素存在内存上是挨着的,地址相邻(比如0x00000000, 0x00000004)
auto_ptr是如何实现智能指针,主要思想在于将指针包装后存放在栈上,这样就能自动清除工作,这是内存栈的特点。int a = 0; //a变量存放在栈上哪auto_ptr是如何实现呢?