自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 栈及其应用

栈是典型的后进先出的结构,且只有一段(栈顶)可以操作数据。主要操作有:栈支持的操作接口操作接口功能size()报告栈的规模empty()判断是否为空push(e)将e插至栈顶pop()删除栈顶对象top()引用栈顶对象

2016-12-01 18:47:53 466

转载 归并排序

代码来源:《数据结构(c++语言版)(第三版)》,邓俊辉编著,ISBN: 978-7-302-33064-6类似于向量,列表里也可以使用归并排序。template //有序列表的归并:当前列表中自p起的n个元素,与列表L中自q起的m个元素归并void List::merge ( ListNodePosi(T) & p, int n, List& L, ListNod

2016-11-26 11:59:38 315

原创 插入排序

代码来源:《数据结构(c++语言版)(第三版)》,邓俊辉编著,ISBN: 978-7-302-33064-6对于列表,我们也可以使用插入排序的算法。基本思路如下:由于一个有序的前缀和无序的后缀,每次从后缀中拿出一个元素进行比较,找到合适的位置后,插入有序列表中。代码实现如下:template //列表的插入排序算法:对起始于位置p的n个元素排序void List::insert

2016-11-26 11:12:42 8335

原创 选择排序

代码来源:《数据结构(c++语言版)(第三版)》,邓俊辉编著,ISBN: 978-7-302-33064-6选择排序(selectionsort)适用于向量和列表的结构。向量中的起泡排序(bubblesort)就是一种选择排序。选择排序的思想是,在序列中,从乱序中找到最大元素,将其移送至有序队列的开头,即作为首元素插入前缀。代码如下:template //

2016-11-26 10:36:01 286

转载 列表与无序列表

转自 《数据结构(c++语言版)(第三版)》,邓俊辉编著,ISBN: 978-7-302-33064-6与向量一样,列表也是一种抽象的数据类型。一个单结点包括元素、前驱、后继,列表首尾还有头结点和尾结点。列表节点ADT支持的操作接口操作接口功能data()当前节点所存对象pred()当前节点前驱节点的位置

2016-11-26 09:57:14 671

转载 插值查找

原文来源:数据结构--向量--插值查找 - Codeman的专栏 - 博客频道 - CSDN.NET转载已获得原作者许可我们来看一下插值查找。本页内容    1.插值查找原理    2.代码实现    3.总结评价1.插值查找原理          插值查找的前提是有序数列元素的值是成线性增长的。对于大多数有序数列来说,这前提

2016-11-24 08:39:21 1007

原创 归并排序

代码来源:《数据结构(c++语言版)(第三版)》,邓俊辉编著,ISBN: 978-7-302-33064-6归并排序可以理解为是反复调用二路归并算法实现。所谓的二路归并就是指,将两个有序序列合并成为一个有序序列。在每次迭代中,只需要关注两路的首元素,不断地把首元素提出放入总的序列中,从而实行合并。归并排序的主体结构术语分治策略,代码如下:template //向量归并排序

2016-11-23 20:28:43 278

原创 起泡排序

代码来源:《数据结构(c++语言版)(第三版)》,邓俊辉编著,ISBN: 978-7-302-33064-6起泡排序,顾名思义,一个向量像气泡浮起那样排序:在一段向量里,进行一次扫描交换,若检测出逆序对,则交换两个元素;当一次扫描交换完成后,最大元素一定被排在最后一个;结束标志前移,再进行一次扫描排序,知道检测出没有逆序对。void bubblesort1A ( int A[]

2016-11-23 19:25:33 448

原创 有序向量

代码来源:《数据结构(c++语言版)(第三版)》,邓俊辉编著,ISBN: 978-7-302-33064-6有序向量中的元素不仅按线性次序排放,而且数值大小也按次序单调分布。这给后续的操作带来很大的便利。虽然对向量排序sort()会花费一定的时间,但是从总体上看,转化成有序向量后,操作会简化很多。这一时间的花费是值得的。1.有序性甄别向量有序的比较原理是:对向量中任意两个相邻元素进行比

2016-11-23 09:57:37 1180

原创 无序向量

代码来源:《数据结构(c++语言版)(第三版)》,邓俊辉编著,ISBN: 978-7-302-33064-6对于无序向量,有以下几个重要的操作:1.直接引用元素对于数组,可以直接通过下标方式访问元素。为了使向量vector有类似的操作方式,对其进行重载运算符[ ]。template <typename T> T& Vector<T>::operator[] (Rank r) const//重载下标运

2016-11-23 09:10:29 973

转载 考察最大元素:从n个整数找出最大者

题目及代码来源:《数据结构习题解析(第三版)》,邓俊辉编著,ISBN: 978-7-302-33065-3题目要求:从n个整数中找出最大者//从n个整数中找出最大者#include<iostream>#define UPPER 1000using namespace::std;int max(int m,int A) { return (m > A) ? m : A;}int max

2016-11-22 14:56:49 548

原创 利用位与运算简化代码

利用位与运算简化代码题目及代码来源:《数据结构习题解析(第三版)》,邓俊辉编著,ISBN: 978-7-302-33065-3题目要求:改进教材中的countOnes()算法,使得时间复杂度降至O(countOnes(n)),线性正比于数位1的实际数目/*教材算法*/int countOnes(unsigned int n) { //统计整数二进制展开中数位1的总数:O(logn) int

2016-11-22 14:46:21 538

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除