随笔分类 -  数据结构

摘要:涉及知识点:1. 冒泡排序2. 选择排序3. 不使用第三个变量,交换两个变量4. 随机数组生成5. 预定义变量/************************************************************************ * 名 Sort.c * 功 能:顺序表 * 描 述:排序算法 * 作 者:JarvisChu * 时 间:2012-10-22 * 修 订:无。 ************************************************************************/ #include <stdio.... 阅读全文
posted @ 2012-10-22 18:32 JarvisChu 阅读(270) 评论(0) 推荐(0)
摘要:/******************************************************************************************************************************** *功 能:各种排序算法 *作 者:JarvisChu *时 间:2010-05-01 *知识点: 直接插入排序:1. 从i=2开始,如果L[i]>L[i-1],则进入2 2. L[0] = L[i],暂存L[i],我们成L[i]为待插... 阅读全文
posted @ 2011-07-17 18:41 JarvisChu 阅读(181) 评论(0) 推荐(0)
摘要:程序功能:1. 图的邻接表存储2. 递归深度遍历3. 非递归深度遍历(借助stack)4. 递归广度遍历5. 非递归广度遍历(借助queue)程序中通过条件编译实现,递归与非递归的选择//#define _RECURSION_TRAVERSE //递归遍历(将下一行注释,此行不注释)#define _NON_RECURSION_TRAVERSE //非递归遍历(节点本身有isVisited域)(将上一行注释,此行不注释) 注释第一... 阅读全文
posted @ 2011-04-30 16:05 JarvisChu 阅读(390) 评论(0) 推荐(0)
摘要:编译环境IDE: codeblocksCompiler: GNU GCC/*************************************************************************** * 功 能:Huffman Tree 的构建和Huffman Code 的实现 * 描 述:从文件source.txt中读取权重,然后构建顺序存储结构的Huffman Tree,继而实现该Huffman Tree的编码 * 作 者:JarvisChu * 时 间:2011-04-25 *******************... 阅读全文
posted @ 2011-04-25 16:32 JarvisChu 阅读(184) 评论(0) 推荐(0)
摘要:树转化成二叉树 1. 将节点的长子(即左边第一个孩子)变成它的左孩子,它的大兄弟(右边离它最近的兄弟)变成它的右孩子。 2. 对每一个节点都做以上操作森凌转化成二叉树 1. 对第 i 棵树,做上述(树转化成二叉树的操作)。 2. 对第 i+1 棵树,将其变成第 i 棵树的根节点的右孩子二叉树转化成树或森林 上述过程的逆过程 阅读全文
posted @ 2011-04-24 15:38 JarvisChu 阅读(149) 评论(0) 推荐(0)
摘要:编译环境IDE: codeblocksCompiler: GNU GCC创建的二叉树结构图如下:/*************************************************************************** * 功 能:二叉树的常用操作(创建、先中后序递归与非递归遍历、层序遍历) * 作 者:JarvisChu * 时 间:2011-04-24****************************************************************************/#include <iostream>#inc 阅读全文
posted @ 2011-04-24 10:45 JarvisChu 阅读(245) 评论(0) 推荐(0)
摘要:一、十进制 转换成 n 进制 这里要求 1< n <= 9 转换函数实现如下 //将十进制 dec 转换成 n 进制,结果存在 other中,other在外部分配内存void Decimal_to_Other(int dec, char *other, int n){ //1 < n <= 9 int i=0; int dec_copy = dec; char* tmpArray = new char[64]; while(dec_copy != 0){ tmpArray[i] = dec_copy%n+'0'; dec_copy /= n; i++; 阅读全文
posted @ 2010-11-28 19:32 JarvisChu 阅读(356) 评论(0) 推荐(0)
摘要:一、说明 栈的操作比较简单 保存一个栈顶 top 指针 压栈时,就将节点 链在 top之后 弹栈时,就将top的next 节点删除即可 同 链式队列的实现,top指针所指节点始终为无效节点 实现方法,也同 链式队列类似二、实现/******************************************************************功 能: 实现栈基本操作*描 述: 实现栈的链式存储,及其相关操作*方 法:分配一块内存,栈顶top指针指向该块内存, 但这一块内存,是不保存有效数据的, 操作过程中,top指向的内存始终是不保存有效数据的, 于是栈判空条... 阅读全文
posted @ 2010-11-28 14:48 JarvisChu 阅读(195) 评论(0) 推荐(0)
摘要:一、图示1. 队列中的节点图示包括值域(保存节点的值)、指针域(指向下一个节点),每一个节点也都有个内存地址 XXXX.2.队列图示 设置两个指针,一个队首,一个队尾。 初始化(Init)时,分配一块内存区,front、rear都指向这里 front指向的内存块,在栈的整个生命周期中,都是不保存有效数据的 rear指向队尾节点,当rear与front相同时,说明队列为空 a. 初始化 操作 如图: b. 入队 操作 如图: front指针不变 rear指针指向入队的节点,也就是队尾节点 第二个节点入队时,队列如图: c.出队操作 rear指针不变 front指向下一个节点,说明这一个节点已经. 阅读全文
posted @ 2010-11-28 14:02 JarvisChu 阅读(191) 评论(0) 推荐(0)
摘要:一、题目详见<数据结构与c语言>(严蔚敏) p65二、实现/***************************************************************** *功 能:模拟银行的业务 *作 者:JarvisChu *时 间:2010.11.27 *备 注:《数据结构 c语言版》(严蔚敏) p67 ******************************************************************/ #include <stdio.h> #include <malloc.h> //------- 阅读全文
posted @ 2010-11-27 22:11 JarvisChu 阅读(298) 评论(0) 推荐(0)
摘要:/****************************************************************************功 能* 实现线性表的基本操作*描 述* 实现线性表的顺序存储,及其插入、删除、查询等操作*时 间* 2010-11-14***************************************************************************/#include<stdio.h>#include<malloc.h>#include<windows.h>#include<st 阅读全文
posted @ 2010-11-23 14:29 JarvisChu 阅读(158) 评论(0) 推荐(0)