自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 《大话数据结构》第九章 排序

排序用到的结构与函数#define MaxSize 100typedef struct SqList{ int r[MaxSize]; int length;}SqList;void swap(SqList *L, int i, int j){ int temp=L->r[i]; L->r[i]=L->r[j]; L->r[j]=temp;}1.冒泡排序

2017-08-12 15:49:19 340

原创 《大话数据结构》 第七章 图

ADT 图 Operation: CreateGraph(*G,V,VR); DestroyGraph(*G); LocateVex(G,u); GetVex(G,v); PutVex(G,v,value); FirstAdjVex(G,*v); NextAdjVex(G,v,*w); InsertVex(*G,v); DeleteVex(*G,v); DeleteArc(*G

2017-08-10 22:01:54 373

原创 《大话数据结构》第六章 树

树ADT 树 Operation: InitTree(*T); DestroyTree(*T); CreateTree(*T,definition); ClearTree(*T); TreeEmpty(T); TreeDepth(T); Root(T); Value(T,cur_e); Assign(T,cur_e,value); Parent(T,cur_e); LeftC

2017-08-10 18:00:41 238

原创 《大话数据结构》第四章 队列

队列ADT 队列 Operation: InitQueue(*Q); DestroyQueue(*Q); ClearQueue(*Q); QueueEmpty(Q); GetHead(Q,*e); EnQueue(*Q,e); DeQueue(*Q,*e); QueueLength(Q);结构代码typedef int QElemType;typedef struct{

2017-07-31 12:15:37 246

原创 《大话数据结构》第四章 栈与队列

栈ADT 栈 Operation: InitStack(*S); DestroyStack(*S); ClearStack(*S); StackEmpty(S); GetTop(S,*e); Push(*S,e); Pop(*S,*e); StackLength(S);栈的结构定义typedef int SElemType;typedef struct{ SElemType

2017-07-31 12:04:53 275

原创 《大话数据结构》第三章 线性表

**第三章 线性表** 有序、有限、最多一个前驱和一个后继 基本操作: InitList(&L) ListEmpty(L) ClearList(&L) GetElem(L, i, &e) LocateElem(L, e) ListInsert(&L, i, e) List

2017-07-31 11:48:28 275

原创 《大话数据解构》第一、二章

第一章 数据结构绪论基本概念:数据、数据元素、数据项、数据对象、数据结构 逻辑结构:1.集合结构 2.线性结构 3.树形结构 4.图形结构 物理结构(存储结构):顺序存储和链式存储(《无间道》) 数据类型:原子类型和结构类型 抽象数据类型(ADT)第二章 算法算法定义 算法特性:输入、输出、有穷性、确定性和可行性 算法设计要求:正确性、可读性、健壮性、高效率、低存储 算法效率度量方法:

2017-07-27 21:08:11 161

原创 数论——素数筛法

1.基本筛法#define N 16777220bool prime[N];void doprime1(){ int m, n, t; memset(prime, 1, sizeof(prime)); int e =(int)sqrt(float(N)); prime[0] = prime [1] = false; for(int i=4; i<=N; i+

2017-07-10 16:28:16 276

原创 计算几何——多边形 计算几何点类

任务:设计一个二维点类,可以进行一些向量运算 接口:结构体:point成员变量: double x,y 点的坐标重载运算符:+,-,*,/,==成员函数: input() 输入一个点 norm() 计算向量模长相关函数: double sqr(double x) 计算一个数的平方 double det

2017-07-08 17:42:41 325

原创 计算几何——多边形 计算几何误差修正

任务:给定一个double类型的数,判断它的符号说明:计算几何经常涉及精度问题,需要对一个很小的数判断正负,所以需要引入一个极小量eps接口 int cmp(double x)输入: x 判断符号的数输出: x的符号,-1表示x为负数,1表示x为正数,0表示x为0代码const double eps =1e-8;int cmp(double x){ if(fabs(x)<eps)

2017-07-08 16:30:21 379

原创 poj 3669

Meteor ShowerTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 20056Accepted: 5210DescriptionBessie hears that an extraordinary meteor shower is coming;

2017-07-04 19:42:12 284

原创 fill函数 和 memset 函数的区别

fill函数,fill与memset函数的区别memset函数按照字节填充某字符fill函数按照单元赋值,将一个区间的元素都赋同一个值在头文件里面因为memset函数按照字节填充,所以一般memset只能用来填充char型数组,(因为只有char型占一个字节)如果填充int型数组,除了0和-1,其他的不能。因为只有00000000 = 0,-1同理,如果

2017-07-04 17:42:11 593

原创 poj 3009 Curling 2.0

poj 3009Curling 2.0Time Limit: 1000MSMemory Limit: 65536KTotal Submissions: 21445Accepted: 8742DescriptionOn Planet MM-21, after their Olympic games this ye

2017-07-04 17:14:10 148

原创 STL常用函数复习之————priority_queue

//priority_queue 优先队列//队列中最大的元素总是位于队首,出队时先出最大的元素 (优先队列是 从大到小 排列)(可以重载 < 重新定义比较规则)#includeusing namespace std;priority_queue pq;int main(){ pq.push(1); //入队 int n=pq.size(); //返回队列中的数目 pq.emp

2017-07-03 22:37:28 227

原创 STL常用函数复习之————queue

//queue#includeusing namespace std;queue q;int main(){ q.push(1); //入队 q.pop(); //队首元素出队 int n=q.size(); //队列元素数量 int a=q.front(); //队首元素 int b=q.back(); //队尾元素 q.empty(); //判断队列是否为空 re

2017-07-03 22:12:09 133

原创 STL常用函数复习之————stack

//stack 栈 只提供入栈 出栈 栈顶元素访问和判断 是否为空 元素个数 #includeusing namespace std;stack s;int main(){ s.push(9); //入栈 int a=s.top(); //读取栈顶元素 int n=s.size(); //返回堆栈的数量 s.empty(); //判断是否为空 s.pop(); //弹出最顶

2017-07-03 22:08:17 385

原创 STL常用函数复习之————bitset

//bitset 每个元素只占一个Bit位,取值为1或者0#includeusing namespace std;bitset b;int main(){ /*创建 1. bitset b; 100000个Bit,所有元素为0 2. bitset b(7); 用整数将其初始化为 111 另一个例子 bitset b(5); b为 00101; 3. strin

2017-07-03 21:58:30 179

原创 STL常用函数复习之————list

//list双向链表容器 前驱元素指针域+数据域+后继元素指针域 /*list的头结点的前驱元素指针域保存的是链表中尾节点的首地址 list的尾节点的后继元素指针域保存的是链表中头结点的首地址*///list的迭代器,只能通过 ++ -- 操作将迭代器移动到 后继/前驱 节点元素处#incluedusing namespace std;list l;int main(){

2017-07-03 20:35:08 297

原创 STL常用函数复习之————deque

/*是一种优化了的、对序列两端元素进行添加和删除操作的基本序列容器。它允许较为快速地随机访问,但它不像vector 把所有的对象保存在一块连续的内存块,而是采用多个连续的存储块,并且在一个映射结构中保存对这些块及其顺序的跟踪。向deque 两端添加或删除元素的开销很小。它不需要重新分配空间,所以向末端增加元素比vector 更有效。 实际上,deque 是对vector 和list 优缺点

2017-07-03 20:10:12 374

原创 STL常用函数复习之————multimap

//multimap//允许插入重复键值的元素#includeusing namespace std;multimap m;int main(){ /*删除 可以删除某个迭代器位置上的元素、某个迭代器区间上的元素、 等于某个键值的所有重复元素*/ /*查找 返回重复键值中的第一个元素的迭代器位置 */ return 0; }

2017-07-03 19:39:42 175

原创 STL常用函数复习之————map

//map//map映照容器由一个键值和一个映照数据组成,采用红黑树实现//默认键值从小到大插入元素 //比较函数只对元素的键值进行比较#includeusing namespace std;map m;int main(){ /*插入 m["jack"]=99; m.insert(pair("mike",3)); m.insert(make_pair("steam"

2017-07-03 19:32:58 241

原创 STL常用函数复习之————multiset

//multiset#includeusing namespace std;multiset ms;int main(){ /*删除 同set一样,删除 某个迭代器位置上的元素、某段迭代器区间的元素、等于某个键值的所有重复元素 同时还可以返回删除元素的个数 int n=ms.erase("123"); */ /*查找 找到,返回第一个(重复)元素的迭代器位置;找不到

2017-07-03 18:37:43 307

原创 STL常用函数复习之————set

// set multiset map multimap的内部结构是平衡树// 二叉平衡树的检索使用中序遍历算法 // 对于这些容器中的键值,不可以直接修改// set默认从小到大 #includeusing namespace std;set s;int main(){ //插入 s.insert(8); 重复元素不会插入 /*遍历 set::iterator it

2017-07-03 18:31:29 199

原创 STL常用函数复习之————string

//string 容器#includeusing namespace std;string s;int main(){ /* 赋值 s="hello"; char ss[5000], s=ss; */ /* 尾部添加字符或字符串 s=s+'a'; s=s+"hello"; s.append("abc"); */ /* 插入字符或字符串 strin

2017-07-03 17:12:57 196

原创 STL常用函数复习之————vector

//vector 向量容器#includeusing namespace std;vector v;/*vector v(10) vector v(10,8.6)*/int main(){ //访问方式:下标 、迭代器 /* vector::iterator it; for(it=v.begin(); it!=v.end(); it++) */ /*元素的插入 v

2017-07-03 16:03:38 129

原创 拓扑排序

拓扑排序(搜索) 算法具体步骤如下:1、 调用toposort();2、  在toposort()每次调用dfs()的过程中,都记录了顶点u的完成时间,将顶点u按完成顺序保存在存放拓扑排序顺序的数组topo[]中。这样,该数组就存放了按先后顺序访问完成的所有顶点。3、  最后拓扑排序得到的线性序列,即为topo[]的逆序。bool visit[maxn];int topo[m

2017-06-05 00:18:45 193

原创 图的遍历

1.图的深度优先搜索基本思想:访问顶点v0,然后访问v0邻接到的未被访问的顶点v1,然后再从v1出发按照深度优先的顺序遍历bool s[maxn]={false};void dfs(int x){ s[x]=true; //标记当前节点已经被访问 printf("%d\n",x); for(int i=head[x]; i!=-1; i=Edge[i].next)

2017-06-04 00:22:31 260

原创 图的存储结构

1.邻接矩阵2.前向星//所需要的数据结构 int head[maxn]; //下标表示起点, 存储起点的第一条边的位置struct EdgeNode{ int from; //起点 int to; //终点 int w; //权值};EdgeNode Edge[maxn];//比较函数 bool cmp(EdgeNode a, EdgeNo

2017-06-03 23:12:59 191

原创 矩阵类的写法

关于矩阵类的c++ 写法,摘自红书

2017-06-03 18:53:59 2200

空空如也

空空如也

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

TA关注的人

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