数据结构
hj_ai
这个作者很懒,什么都没留下…
展开
-
静态链表的表示和实现
// 2014年4月15日// 静态链表的表示和实现// 改进的地方:用头结点来存储链表长度// 第一个元素存储空闲链表的头结点,data中保存链表长度// 最后一个元素存储工作链表的头结点,data中保存链表长度//// 存储格式//// node0 node1 node2 node.// [data|next] [da原创 2014-04-15 20:51:25 · 390 阅读 · 0 评论 -
栈的应用-汉诺塔
/**< 2014年4月23日 *//**< 汉诺塔 */#include /** \brief 把第n个盘子从位置a移动到位置b * * \param n 盘子的编号 * \param a 源位置 * \param b 目标位置 * \return * */void move(int n, char a, char b){ /**< 把第N个盘子从位置A移动到原创 2014-04-23 22:49:26 · 469 阅读 · 0 评论 -
顺序队列的表示和实现
// 2014年4月17日// 顺序队列的表示和实现// 数据格式//// front// near// size// front near// ↓ ↓// data -> [data] [data] [data] [data] ... [data]//#include #include原创 2014-04-17 22:32:56 · 472 阅读 · 0 评论 -
循环链表的表示和实现
// 2014年4月15日// 循环链表// 和单链表唯一的不同就是判断尾指针的依据,是判断当前指针和头结点的地址是否相等。// 存储结构// 用头结点记录链表长度// head node node0 node1 end node// [data|next] -> [data|next] -> [data|next] ... [da原创 2014-04-15 21:17:01 · 387 阅读 · 0 评论 -
线性表的链式表示与实现
// 2014年4月14日// 线性表的链式表示与实现// 稍微修改了一下,用头结点来存储链表的长度,节约求链表长度的时间复杂度//// 存储格式// list// ↓// [data][next] -> [data][next] -> [data][next] -> ... [data][0]// head node node 0 node原创 2014-04-14 21:13:01 · 470 阅读 · 0 评论 -
栈的应用-进制转换
// 数字转换为字符int number_to_char(char n){ if (n ['0'-'9'] { n += '0'; } else if (n ['A'-'F'] { n += 55; } return n;}// 进制转换// 先把最低位依次入站,则栈顶就是最高位// 然后所原创 2014-04-21 18:58:54 · 464 阅读 · 0 评论 -
链式队列的表示和实现
// 2014年4月19日// 链式队列的实现// 用头结点来存储链表长度//// 存储格式// 存储结构和单链表一样// queue// ↓// [data][next] -> [data][next] -> [data][next] -> ... [data][0]// head node node 0 node 1原创 2014-04-19 12:38:10 · 471 阅读 · 0 评论 -
顺序栈的表示和实现
// 2014年4月16日// 顺序栈的表示和实现// tag_stack_t 的数据格式//// size 栈的大小// [data]// top -> [data] 栈顶// [data] 第一个节点// [data]// base -> [data] 栈底#include #in原创 2014-04-16 20:33:33 · 425 阅读 · 0 评论 -
斐波那契数列的递归和非递归算法
// 2014-04-20// 斐波那契数列// 算法速度 fbi4 > fbi3 > fbi2 > fbi1#include #include #include #include // 开始计时void start_timer(struct timeval& tv){ gettimeofday(&tv, 0);}// 流逝的时间(微妙)long long g原创 2014-04-21 18:55:55 · 591 阅读 · 0 评论 -
链式栈的表示和实现
// 2014年4月16日// 链式栈的表示和实现// 使用头结点保存栈的深度(链表的长度)// 在单链表的基础上修改一下,不允许随机插入和随机删除// 入栈和出栈的时候只操作头结点即可//数据格式//// head node node0 node1 end node// [data|next] -> [data|next] ->原创 2014-04-16 20:58:33 · 519 阅读 · 0 评论 -
两栈共用一个缓冲区
/**< 2014年04月26日 *//**< 两个栈共用一个缓冲区 */// 存储格式// [] <- base2// top2 -> []// []// []// []// top1 -> []// [] <- base1#include #include #include #incl原创 2014-04-26 16:57:58 · 532 阅读 · 0 评论