![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
简单数据结构
lsp4231
最求卓越,成功就会在不经意间追上你~
展开
-
堆排序
维护一个完全二叉树. 这个是一个小根堆的实现 #include #include #include #define maxn 200 using namespace std; int arr[maxn]; void upAdjuest(int a[], int pos) { int temp = a[pos]; int j = (pos - 1) / 2; while原创 2017-03-21 18:17:51 · 167 阅读 · 0 评论 -
快速排序
快速排序其实就是冒泡的一种改进版本. 他是不稳定的一种排序方法. 合理的用分治的思想处理排序问题. #include #include #include #define maxn 1<<10 using namespace std; int arr[maxn]; void qsort(int a[],int left,int right) { if(left >= rig原创 2017-03-20 22:48:07 · 163 阅读 · 0 评论 -
avl 平衡二叉树
实现平衡二叉树 参考博客:http://blog.csdn.net/whucyl/article/details/17289841 参考博客:http://www.cnblogs.com/QG-whz/p/5167238.html 个人实现代码: #include #include #include using namespace std; struct BinaryTreeNo...原创 2017-03-19 13:25:08 · 247 阅读 · 0 评论 -
循环队列的简单实现
#include #include #include #define maxn 20 #define add_length 5 using namespace std; typedef struct Node{ int rear; int front; int size; int *data; }*LoopQueue; void Init(LoopQueu原创 2017-03-17 17:15:08 · 232 阅读 · 0 评论 -
链队列简单实现
实现的时候遇到了简单问题。传指针进去才行。 #include #include #include #define maxn 20 using namespace std; typedef struct QNode { int data; struct QNode *next; }QNode; typedef struct LinkQueue{ QNode * fr原创 2017-03-16 22:07:06 · 185 阅读 · 0 评论 -
栈的简单实现
栈的简单实现 #include #include #include #define max_stack_length 20 #define append_stack_length 5 using namespace std; typedef struct { int *base; int *top; int stackSize; }SqStack; ///初始化栈原创 2017-03-08 22:41:14 · 170 阅读 · 0 评论 -
单链表的简单实现
#include #include #include #define max_list_length 20 #define expand_list_length 5 using namespace std; #include #include typedef struct Node { struct Node *next; int value; } Node, *List;原创 2017-03-05 21:14:24 · 163 阅读 · 0 评论 -
双链表实现
在实现双端链表的时候,由于图简单,没加哨兵。导致删除节点的时候出现free首节点无法删除。 原因是:引用 这篇博客 http://blog.csdn.net/llhyy17/article/details/5375298 需要将头节点往前移一个数据类型占用的内存大小。然后将这个地方的位置标记为可以使用的。这个时候就出现了内存访问非法了。 #include #include #inc原创 2017-03-07 21:14:58 · 203 阅读 · 0 评论