
数据结构学习记录
文章平均质量分 64
WWL919618308
这个作者很懒,什么都没留下…
展开
-
(12.15)图的邻接矩阵实现
汗,发现自己不写博客就学不好数据结构,,算了,,继续坚持写博! 无向网为例 Wij 如果∈E或者∈E arc[i][j]= 0 i = j ∞ 其他 举个例子: 从每一行都能看到每个顶点是和哪几个其他的顶点连接的。 自己写的一段小代码: #include using namespace std; const in原创 2013-06-13 15:40:24 · 705 阅读 · 0 评论 -
(10.14)4学习C版数据结构中熟悉malloc函数与C++中的new函数
最近学了C语言版的数据结构,一堆堆都是动态空间的分配问题,丫的,一堆堆的malloc函数,分配失败又如何如何的……⊙﹏⊙b汗,真是相当麻烦,自己还是喜欢用C++的new和delete,于是毅然决定稍稍把之前学过的C++内容稍稍的总结一下。 C语言是利用malloc函数和free这两个库函数完成动态存储分配和释放存储空间的功能的。 函数原型为: void *malloc(size_原创 2013-06-13 15:39:49 · 973 阅读 · 0 评论 -
(10.15)[转]C++学习(队列操作,入队,出队)
#include using namespace std; struct list { int data; list *next; }; class queue { list *ptrf,*ptrb; //定义对首,队尾的指针 public: queue() { ptrf=ptrb=NULL; //队列为空 } void enqueue(int); int deque原创 2013-06-13 15:39:58 · 832 阅读 · 0 评论 -
(11.1)queue类容器 初学
queue 类容器--链队列 queue 容器的常用操作有 queue s; //建立空队列 push (num); //将一个数据压入队列 front (); //返回队首元素 back (); //返回队尾元素 empty (); //判断队列是否为空 pop();原创 2013-06-13 15:40:13 · 481 阅读 · 0 评论 -
(10.28)递归建立一个二叉树,交换左右节点,并遍历
(1)构建一颗二叉树; (2) 实现二叉树中所有结点的左、右子树相互交换。 二叉树的存储结构: 先序遍历二叉树的操作: 若不为空,则(root,lchild,rchild) 中序遍历 若不为空,则(lchild,root,rchild) 后序遍历 若不为空,则(lchild,rchild,root) 代码: BiTnode_tree.h #in原创 2013-06-13 15:40:06 · 690 阅读 · 0 评论 -
(11.1)stack类容器 初学
stack 类容器----链栈 stack容器中的常用操作有: stacks; //构造空栈 push(num); //将元素压入栈中 pop(); //删除栈顶元素,无返回 top(); //返回栈顶元素 size(); //返回栈的大小 empty();原创 2013-06-13 15:40:11 · 483 阅读 · 0 评论 -
(10.15)C/C++内存分配方式…
内存分配方式 内存分配方式有三种: [1] 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量, static 变量。 [2] 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中 ,效率很高,但是分配的内存容量有限。 [3] 从堆上分配,亦称动态内原创 2013-06-13 15:39:54 · 599 阅读 · 0 评论 -
(10.19)C++实现链队列的基础操作
注:像书中一样,用到了头结点,作用就是像所有的单链表一样:插入删除首元素时不用对其进行特殊处理。 还需要稍稍注意的东西就是要注意一下空间的分配,和队列为空的情况的处理。都不算难。 空队列:就是头指针和尾指针指向同一个空间。 插入元素,从队尾进,处理一下队尾,然后,若队列为空,注意进入第一个元素时的情况就ok,都很简单。 删除元素:就从队头删除,由于加入了头结点,所以比较方便对于队头的处理。原创 2013-06-13 15:40:00 · 1395 阅读 · 0 评论 -
(10.15)静态实现顺序栈的基本操…
编写一个类,实现简单的栈。栈中有以下操作: 元素入栈、读栈顶元素,元素出栈,判断栈空,判断栈满。 栈的数据由大小为10的数组存放。 在主函数中测试栈的应用,完成如下操作: 将10、12、14依次入栈,读出栈顶元素,并打印。出栈,读出并打印栈顶元素。 stack.h #include using namespace std; class stack { private: int原创 2013-06-13 15:39:56 · 839 阅读 · 0 评论 -
(10.14)typedef与结构结合使用问题
同样因为学了数据结构,遇到了一堆堆C中结构体的typedef,总结一下用法。 typedef与结构结合使用 typedef struct tagMyStruct { int iNum; long lLength; } MyStruct; 这语句实际上完成两个操作: 1) 定义一个新的结构类型 struct tagMyStruct { int iNum; long原创 2013-06-13 15:39:52 · 503 阅读 · 0 评论 -
(12.16)图的邻接表表示
数组与链表结合的存储方法称为邻接表 以无向图为例 举个小例子:无向图的邻接表结构 贴下自己的代码: #include using namespace std; const int MAXVEX = 20; //设最大的结点个数为20 struct EdgeNode //建立边表结点 { int adjvex; //邻接序号 int weight; //原创 2013-06-13 15:40:26 · 651 阅读 · 0 评论 -
(12.18)无向图的深度搜索(邻接矩阵)
深度搜索:DFS,就是从其中一个顶点v开始,,访问顶点,然后,从v开始往一个方向搜索,直到遇到的下一个搜索目标是已经搜索过的,然后返回上一个结点,判断有没有结点是没有被搜索过的,若没有,继续返回上一层,直到所有的都被访问完。 先用邻接矩阵写一遍 贴下代码: #include using namespace std; const int vertex_max = 20; //初始设定原创 2013-06-13 15:40:28 · 797 阅读 · 0 评论