数据结构
bencolyy
这个作者很懒,什么都没留下…
展开
-
双向链表
#include <iostream>#include <stdio.h>using namespace std;typedef struct node{ int date; struct node *next; struct node *prev;}Node;class DLLNode{private: Node *head;public:...原创 2018-07-24 14:38:29 · 154 阅读 · 0 评论 -
冒泡排序的简单实现
void sort(int *p , int len){ int j; for (int i = 0; i < len-1; ++i) { for (j = 0; j < len-1-i; ++j) { if (p[j] > p[j+1]) { swap(p[j],p[j+1]); } } }}#include <i...原创 2018-07-20 21:09:39 · 165 阅读 · 0 评论 -
选择排序
#include <iostream>using namespace std;void print(int *p , int len){ for (int i = 0; i < len; ++i) { cout << p[i] << ' '; } cout << endl;}void swap(int &a ...原创 2018-07-21 08:53:36 · 128 阅读 · 0 评论 -
插入排序
#include <iostream>using namespace std;void print(int *p , int len){ for (int i = 0; i < len; ++i) { cout << p[i] << ' '; } cout << endl;}void swap(int &a ...原创 2018-07-21 08:54:17 · 279 阅读 · 0 评论 -
希尔排序
#include <iostream>using namespace std;void print(int *p , int len){ for (int i = 0; i < len; ++i) { cout << p[i] << ' '; } cout << endl;}void swap(int &a ...原创 2018-07-21 08:54:58 · 2276 阅读 · 0 评论 -
快速排序
基本思想:通过一趟排序将待排记录分隔成两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 1、从数列中挑出一个元素,称为 "基准"(pivot) 2、重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition...原创 2018-07-22 15:42:52 · 131 阅读 · 0 评论 -
数据结构:树、二叉树
一:树的定义:树(tree)是n个节点的有限集;n = 0;称为空树;在任意非空树中:1、有且仅有一个特定的根节点;2、当n>1时其余结点可分为m(m>0)个互不相交的有限集,其中每个集合本身又是一棵树,并且称为根的子树。 树的定义强调两点:1、n>0时,根节点唯一2、m>0时,子树的个数没有限制,但他们一定互不相交下图就不符合...原创 2018-09-09 08:55:36 · 390 阅读 · 0 评论