
数据结构
文章平均质量分 79
lenry_zi
student
展开
-
【队列】循环队列(C++)
定义队列(queue)是只允许在一端进行插入操作,在另一端进行删除操作的线性表。遵守先进先出的规则。数据存储方式顺序存储结构:这种结构事先要基本确定队列的大小,不支持动态分配存储空间,所以插入和删除元素比较省时,但是会造成空间的浪费。为了节省空间,引入了循环队列,本质上也是顺序存储结构。链式存储结构:可以不需要事先知道队列的大小,支持动态和释放空间,但是插入和删除操作比较耗时,也称链队列。*当事先...原创 2018-03-09 13:18:40 · 531 阅读 · 0 评论 -
【链表】单链表(C++)
#include<iostream>using namespace std;struct Node{ int data; Node * next; Node(int x):data(x),next(NULL){}};class LinkedList{private: Node * head; int length;public: Lin...原创 2018-03-07 21:05:37 · 174 阅读 · 0 评论 -
【图】邻接矩阵及最小生成树(C++)
#include<iostream>#include<queue>#include<string>#include<fstream>#include<iomanip>using namespace std;const int MaxSize=10;//辅助prim struct shortEdge{ int edge...原创 2018-03-16 20:48:06 · 2484 阅读 · 0 评论 -
【排序算法】堆排序(c++)
堆排序思想:首先将待排序的记录序列构造成一个堆,然后将堆顶元素移走,此时,选出了堆中所有记录的最大者即堆顶。并将剩余的记录再调整为堆,这样又找出了次大的元素,以此类推,直到堆中只有一个记录为止。a.将无序序列构建成一个堆,根据升序降序需求选择大顶堆或小顶堆;b.将堆顶元素与末尾元素交换,将最大元素"沉"到数组末端;c.重新调整结构,使其满足堆定义,然后继续交换堆顶元素与当前末尾元素...原创 2018-03-20 11:30:29 · 253 阅读 · 0 评论