
数据结构
文章平均质量分 75
黑色芒果
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
约瑟夫圆环的两种实现,数组模拟和链表模拟
背景 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。 数组实现 #include #define N 5 #define total 100 int main() { int a[total]={0}; int原创 2015-01-08 18:04:03 · 730 阅读 · 0 评论 -
对比函数形参的三种形式:int a,int *a,int &a
在实现栈的时候注意到形参的形式有所不同,在此确认一下这三种形式的形参的区别。 以一个函数简要说明: #include using namespace std; struct stack{ int data[10]; }s; void use_quote(stack &s) { s.data[0]=2; } void use_direct(stack s) { s.data[1]=4;原创 2015-01-01 10:56:11 · 5685 阅读 · 2 评论 -
二叉树的建立以及三种遍历方式
今天仅在晚上看了一会书,所以没有太多的记录。 抽了一段时间写了二叉树的代码,对于基本的知识还是理解的。接下来的工作主要是用非递归方式实现二叉树的三种遍历。 #include using namespace std; const int N=16; int a[N]={1,2,3,0,4,0,5,0,0,6,0}; struct tree { int data; tree *left; t原创 2014-12-31 22:26:24 · 556 阅读 · 0 评论 -
二叉树的建立、遍历,以及给定二叉树前序遍历和中序遍历重建二叉树问题。
开始的时候不大理解头结点的意义,所以二叉树的建立部分现在看来写的不够满意。尤其是定义常量N、并预先分配node[N],先贴上来一会改成new分配新的空间的形式。 以下是二叉树建立的代码部分,放在一个头文件tree.h中(开头的宏定义不是很会用): #ifndef _IOSTREAM_ #define _IOSTREAM_ #include #endif using namespace std;原创 2015-01-05 08:42:42 · 511 阅读 · 0 评论 -
用Qsort排序链表的使用实例记录
要排序的是链表,记得上次排序结构体的时候本身创建的就是结构体数组所以空间连续可排。 但是链表是离散的,不能直接Qsort。 所以分配一个临时空间用来存储地址,然后排序地址再重新建立。 之所以记录在这里是因为其中写cmp函数的时候,发现形参怎么写还是有些讲究的,于是放在这里以方便查看! //--------------------------------struct部分 typ原创 2015-01-18 21:58:55 · 5575 阅读 · 0 评论