关闭

make_heap(), pop_heap(), push_heap()用法

make_heap()是生成一个堆,大顶堆或小顶堆 make_heap(_RAIter,_RAIter) 默认生成大顶堆 make_heap(_RAIter,_RAIter,_Compare) _Compare有两种参数,一种是greater(生成小顶堆),一种是less(生成大顶堆) push_heap()是向堆中插入一个元素,并且使堆的规则依然成立 push_heap(_RAIter,_RAIt...
阅读(96) 评论(0)

Bellman-Ford算法示例

#include int main() { freopen("i3.txt","r",stdin); int dis[10],n,m,u[10],v[10],w[10]; int inf=99999999; scanf("%d %d",&n,&m);//输入点数和边数 for(int i=1; i<=m; i++) scanf...
阅读(76) 评论(0)

priority_queue的使用

普通队列的优先级是根据进入顺序,默认优先队列的优先级是根据数值的大小。 优先队列的内部实现方法运用了堆 priority_queue 对于基本类型的使用方法相对简单。他的模板声明带有三个参数:priority_queue 其中Type 为数据类型, Container 为保存数据的容器,Functional 为元素比较方式。 Containe...
阅读(45) 评论(0)

bfs算法示例

代码#include int main() { int i,j,n,m,a,b,cur,book[101]={0},e[101][101]; int que[10001],head,tail;//模拟队列 scanf("%d %d",&n,&m); for(i=1;i<=n;i++) for(j=1;j<=n;j++)...
阅读(79) 评论(0)

dfs算法示例

代码#include int book[101],sum,n,e[101][101];//book是是否访问该点的标记,e作为边 void dfs(int cur) { int i; printf("%d ",cur); sum++; if(sum==n) return ; for(i=1;i<=n;i++) {...
阅读(199) 评论(0)

快速排序解析

代码#include #define SIZE 10 void quicksort(int *a, int left, int right) { if(left > right) return; int key = a[left]; int i = left; int j = right; while(i < j)...
阅读(54) 评论(0)

简单选择排序示例

代码#include #define SIZE 8 void select_sort(int a[], int n) { int i,j,min,temp; for(i=0;i<n-1;i++) { min = i; for(j=i+1;j<n;j++) { if(a[j]<a[min...
阅读(175) 评论(0)

冒泡排序示例

代码#include #define SIZE 8 void bubble_sort(int a[], int n) { for(int i=0;i<n-1;i++) { for(int j=0;ja[j+1]) {...
阅读(68) 评论(0)

Floyd算法示例

代码#include int main() { int e[10][10],k,i,j,n,m,t1,t2,t3; int inf=99999999; scanf("%d %d",&n,&m); for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { if(i==j...
阅读(125) 评论(0)

Dijkstra算法的解析

针对下图进行解析,求点1到其他各点的最短路径这是利用Dijkstra算法一步一步算出的最短路径分析上述表格图中的黑色加粗斜体是已经确定的值 第一步,查看从点1直接到其他所有点的距离,能到达的写上数值,不能直接到达的写上正无穷。从这些距离中找到最小值,确定该点,下次计算运用到该点 第二步,根据上一步获得最小值的路径,用该路径直接到达要计算的路径,跟上一步距离值进行比较,取最小值。从这些距离中找到最小值...
阅读(94) 评论(0)

c语言字符串与数组还有指针的总结(1)

#include #include int main() { /* char *str = {'h','e','l','l','o'};//运行错误,scalar object 'str1' requires one element in initializer */ /* char *str = "hello";//h...
阅读(125) 评论(0)

c++继承与多态概念的简单总结

一开始搞不懂多态,现在明白了,特来总结一下 虚基类(虚拟继承) 避免多次基类,避免二义性,保证基类只有一份拷贝 多重继承 为避免二义性的出现,用类域限定符明确指出调用函数所属的基类 虚析构函数 实现多态,通过基类指针或引用指向派生类,调用会使该指针或引用调用实际所指对象的析构函数,多用来彻底释放内存,彻底析构派生类 虚函数 实现多态,通过基类指针或引用指向派生类,调用会使该指针或引用调用实...
阅读(111) 评论(0)

链表的前插法建立与后插法建立

#include #include struct ListNode { int val; struct ListNode *next; }; void printList(ListNode* ln1) { ListNode* ln = ln1; while((ln=ln->next)) { printf...
阅读(843) 评论(0)
    个人资料
    • 访问:23948次
    • 积分:835
    • 等级:
    • 排名:千里之外
    • 原创:60篇
    • 转载:6篇
    • 译文:0篇
    • 评论:7条
    文章分类
    最新评论