【DS数据结构】
Always__
这个作者很懒,什么都没留下…
展开
-
顺序表的基本操作
数据结构之基本表的操作: SeqList.h(声明操作的基本函数)#ifndef _SEQLIST_H #define _SEQLISY_H #include #include using namespace std; #define ElemType int #define SEQLIST_DEFAULT_SIZE 10 typedef struct SeqList { ElemTyp原创 2015-04-25 16:29:39 · 679 阅读 · 0 评论 -
循环链表删除,逆置
循环链表按值删除,代码如下:bool delete_val(List *list, ElemType key) { Node *q = find(list,key); if(q == NULL) return false; if(q == list->last) list->last = q->prev; q->next->prev = q->prev; q->prev->n原创 2015-05-04 23:54:15 · 618 阅读 · 0 评论 -
特殊顺序表排序,逆转
此顺序表的定义时有三个参数 分别为 first(始终指向头结点) last(始终指向尾节点) size(顺序表达大小)。 表的逆转(物理结构的交换) 代码如下 :void resver(List *list) { if(list->size<=1) return ; Node *q=list->first->next; Node *p=q->next;原创 2015-05-04 22:29:57 · 1330 阅读 · 0 评论 -
【DS】数据结构--二叉树实现
最近开始复习数据结构,感觉脑子不好使,特此记录一下,以便日后查看,也希望能给大家一些帮助! 类定义和一些函数接口: template struct BinaryTreeNode { BinaryTreeNode(T data) :_data(data), _left(NULL), _right(NULL) {} BinaryTreeNode* _left;原创 2016-04-23 17:22:17 · 699 阅读 · 0 评论 -
【DS】哈希表实现
哈希表的介绍和扩展请查看这篇文章:http://blog.csdn.net/always__/article/details/51584446 基于线性探测,二次探测的哈希表结构,实现字典查询。 代码如下:#pragma once #include #include using namespace std; ////命名空间First--线性探测法 //namespace First原创 2016-06-04 16:28:05 · 511 阅读 · 0 评论 -
【DS】堆操作及其应用
堆数据结构是一种数组对象,它可以被视为一棵完全二叉树结构。 堆结构的二叉树存储是 最大堆:每个父节点的都大于孩子节点。 最小堆:每个父节点的都小于孩子节点。 代码如下: #include #include #include using namespace std; //最大堆:每个父节点的值都大于孩子节点 //最大堆:每个父节点的值都小于孩子节点 //仿函数来确定创建大堆还是小堆原创 2016-06-04 22:33:24 · 570 阅读 · 0 评论 -
【DS】Hash表及布隆过滤器
什么是Hash Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数原创 2016-06-04 16:10:28 · 2998 阅读 · 0 评论