摘要:
线性循环队列 队列是先进先出,和栈相反. 线性循环队列,牺牲一个空间,实现循环。比如空间大小为4,牺牲一个空间,所以最多放3个元素。 假设front指向0位置,tail指向3位置 | 1 | 2 | 3 | 空 | | | | | | 出队后 front指向1位置,tail位置不变还是3 | 空 | 阅读全文
摘要:
栈的应用 1,进制转换 把十进制转换成二进制 思路:要转换成几进制,就除以几,比如要转换成二进制,就每次除以2;比如要转换成16进制,就每次除以16;直到除没了为止。每次除之前,取模。把每次取到的模,压入栈。栈顶的值就是二进制的最大位,所以打印的时候,从栈顶开始打印。 2.各种括号配对 检查各种括号 阅读全文
摘要:
c/c++ 链栈 链栈 下面的代码实现了以下功能 | 函数 | 功能描述 | | | | | push | 压入 | | pop | 弹出 | | show_list | 打印 | | clear | 释放所有内存空间 | | destroy | 释放所有内存空间 | nodestack.h nod 阅读全文
摘要:
c/c++ 线性栈 线性栈 下面的代码实现了以下功能 | 函数 | 功能描述 | | | | | push | 压入 | | pop | 弹出 | | show_list | 打印 | | clear | 移动top指针到栈底 | | destroy | 释放所有内存空间 | seqstack.h 阅读全文
摘要:
c/c++ 线性表之双向循环链表 线性表之双向循环链表 不是存放在连续的内存空间,链表中的每个节点的next都指向下一个节点,每个节点的before都指向前一个节点,最后一个节点的下一个节点不是NULL,是头节点。 真实的第一个节点是头节点,头节点不存放数据,单纯为了编写程序方便。但是下面注释里写的 阅读全文
摘要:
c/c++ 线性表之双向链表 线性表之双向链表 不是存放在连续的内存空间,链表中的每个节点的next都指向下一个节点,每个节点的before都指向前一个节点,最后一个节点的下一个节点是NULL。 真实的第一个节点是头节点,头节点不存放数据,单纯为了编写程序方便。但是下面注释里写的【第一个节点】的含义 阅读全文
摘要:
c/c++ 线性表之单向循环链表 线性表之单向循环链表 不是存放在连续的内存空间,链表中的每个节点的next都指向下一个节点,最后一个节点的下一个节点不是NULL,而是头节点。因为头尾相连,所以叫单向循环链表。 真实的第一个节点是头节点,头节点不存放数据,单纯为了编写程序方便。但是下面注释里写的【第 阅读全文
摘要:
c/c++ 线性表之单向链表 线性表之单向链表 不是存放在连续的内存空间,链表中的每个节点的next都指向下一个节点,最后一个节点的下一个节点是NULL。 真实的第一个节点是头节点,头节点不存放数据,单纯为了编写程序方便。但是下面注释里写的【第一个节点】的含义是头节点的下一节点,也就是真实存放数据的 阅读全文
摘要:
线性表之顺序表 存储在连续的内存空间,和数组一样。 下面的代码,最开始定义了一个能存8个元素的顺序表,当超过8个元素的时候,会再追加开辟空间(函数:reInit)。 实现了以下功能: | 函数 | 功能描述 | | | | | push_back | 从最后插入 | | push_front | 从 阅读全文
摘要:
```list ;;跳转到函数定义的地方 (global-set-key (kbd "C-") 'ggtags-find-definition) ; Control+F2 ;;跳转到函数定义的地方后,返回到原来的地方 (global-set-key (kbd "C-") 'ggtags-prev-mark) ; Control+F3 ;;找出所有调用了这个函数的地方 (global-set-key... 阅读全文