数据结构
郑小源
一个不会敲代码,整天只会逗比的程序员
展开
-
数据结构之二叉排序树及二叉树的遍历
本文解决的问题是: 构建一个二叉排序树,随机产生20个树,并实现该二叉树的三种深度遍历(递归和非递归)和一种广度遍历。 实现代码如下: #include #include #define MaxSize 100 typedef struct btnode { int data; int BF; struct btnode *lchild,*rchild; }Btnode,原创 2018-01-24 09:31:00 · 441 阅读 · 0 评论 -
数据结构之用数组和链表实现队列
本文解决的问题是: 10. 分别用数组和链表实现队列功能。 10.1 用数组实现队列,代码如下 /****************************10、分别用数组和链表实现队列功能*************************************/ /****************10.1、用数组实现队列功能*****************/ #include #原创 2018-01-17 09:21:13 · 444 阅读 · 2 评论 -
数据结构之单链表的基本操作
本节设计题目: 1. 建立一个单链表,并存入50个85到100之间的随机数。 2. 分别用递推和递归两种方法分别遍历第一题中的链表。 3. 在第一题的链表中建立一个查找函数struct node* find(int x, struct node* head), 其中head是查找链表的头结点, x 是要查找的数,若找到返回指向该结点的指针,没找到返回空指针。应用该函数查找95以测试该函原创 2018-01-17 09:09:46 · 291 阅读 · 0 评论 -
数据结构之双链表的基本操作
本文解决的问题主要是: 7. 构造双链表并实现插入和删除功能。 代码如下: //双链表 #include #include typedef struct node { int data; struct node *next; struct node *prior; }node,*DLinkList; void deleteNode(int x,DLinkList p) {原创 2018-01-17 09:11:14 · 329 阅读 · 0 评论 -
数据结构之用数组和链表实现栈
本文解决的问题是: 8. 分别用数组和量表实现堆栈各项功能。 用数组实现,代码如下: /********************8、分别用数组和量表实现堆栈各项功能*********************************/ /*********************8.1、用数组实现堆栈各项功能****************************/ #include原创 2018-01-17 09:13:45 · 310 阅读 · 0 评论 -
数据结构之利用栈实现四则运算
本文解决的问题: 9. 使用堆栈功能实现字符串表达式的求值。(表达式指四则运算表达式) 本文利用的求解方法是: (1)、将表达式转化成后缀表达式; (2)、利用后缀表达式结合栈求结果。 而关于中缀、前缀、后缀表达式的理论以及相互转化的步骤,我之前参考了一篇博文,觉得还不错,给大家分享一下:前、后、中缀表达式 实现代码如下: /*************************原创 2018-01-17 09:18:26 · 2082 阅读 · 0 评论 -
数据结构之大顶堆,小顶堆和堆排序
本文解决的问题是: 随机产生20个数,构建大顶堆,小顶堆,然后进行堆排序。 实现代码如下: /*************************构建大顶堆和小顶堆,并实现堆排序*********************************/ #include #include void heap_ajust_max(int *a, int i, int size) /*a为堆存储数原创 2018-01-24 15:39:24 · 2709 阅读 · 0 评论 -
数据结构之构建平衡二叉排序树
本文解决的问题: 随机产生20个树,构建平衡二叉排序树。 实现代码如下: #include #include #define EH 0 /*等高*/ #define LH 1 /*左高*/ #define RH -1 /*右高*/ typedef struct btnode { int data; int BF原创 2018-01-24 15:39:49 · 1811 阅读 · 0 评论