![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 64
SunnyPotter
http://sunnypotter8.sinaapp.com/
展开
-
C/C++字符串处理函数,学会了就会简化好多问题
rember thisstrncpy(a,b,5);a[5]='\0';char a[10];memset(a,'#',sizeof(a));a[10]='\0';刚开始学C/C++时,一直对字符串处理函数一知半解,这里列举C/C++字符串处理函数,希望对初学者有一定的帮助。C:char st[100];1. 字符串长度转载 2013-12-11 13:17:57 · 779 阅读 · 0 评论 -
排序之堆排序
链表:#include // 大根堆void HeapAdjust(SqList *L, int s, int n) { int temp, j; // temp = L->r[s]; for(j=2*s; j<=m; j*=2) { // 比较,记录j和j+1中较大的值,用于和temp比较 if(jr[j] r[j+1]) ++j; // 如果j和j+!中较大的值原创 2014-01-02 18:18:56 · 630 阅读 · 0 评论 -
查找算法之折半查找
#include #include #include int Binary_Search(int *a, int n, int key) { int low, high, mid; low = 1; high = n; // while(low <= high) { mid = (low+high)/2; if(key < a[mid]) high = mid -原创 2014-01-02 18:24:01 · 651 阅读 · 0 评论 -
C/C++下rand()产生随机数的用法
头文件:#include #include 1、设定随机数种子 srand(time(NULL)); 注意:种子即产生伪随机数的一个时间点, 只要用一次;如果,两个时间点相同,则产生的随机数必然相同2、产生a-b之间的随机数 rand()%(b-a)+b;原创 2013-12-27 19:05:13 · 648 阅读 · 0 评论 -
优先队列priority_queue 用法详解
优先队列是队列的一种,不过它可以按照自定义的一种方式(数据的优先级)来对队列中的数据进行动态的排序每次的push和pop操作,队列都会动态的调整,以达到我们预期的方式来存储。例如:我们常用的操作就是对数据排序,优先队列默认的是数据大的优先级高所以我们无论按照什么顺序push一堆数,最终在队列里总是top出最大的元素。用法:示例:将元素5,3,2,4,6依次push到优先队列中,转载 2014-01-20 11:49:14 · 813 阅读 · 0 评论 -
nyoj 55懒省事的小明
#include #include using namespace std;// 本题就是对STL优先队列+哈夫曼树的初步应用long long Use_queue(int a[], int n) { int i; // 优先队列的使用 priority_queue , greater > w; for(i=0; i<n; i++) w.push(a[i]); lo原创 2014-01-20 11:46:55 · 693 阅读 · 0 评论 -
nyoj 5Binary String Matching
Code1:#include #include using namespace std;// 简单STL应用, 涉及str.length() str.size() str.find(sub, pos)int main(void) { int n, times; string sub, str; cin >> n; while(n--) { times = 0; cin原创 2014-01-20 13:32:02 · 600 阅读 · 0 评论 -
那些C++牛人的博客
现整理收集C++世界里那些“牛人”的个人博客。凡三类:一是令人高山仰止的大牛,对C++语言本身产生过深远的影响的人;二是C++运用炉火纯青的高手,有原创性的技术干货;三是中文世界里的C++牛人。C++大牛的博客Bjarne Stroustrup的博客: Bjarne Stroustrup’s HomepageBjarne Stroustrup,不认识的可以去面壁了,没有转载 2014-02-05 18:15:12 · 2061 阅读 · 0 评论 -
Ubuntu13.04下编译GCC-4.8.2源码并安装成功
# 参考(64-bit): http://www.oschina.net/question/12_49423# 参考(32-bit):http://www.cnblogs.com/sn-dnv-aps/archive/2012/06/08/2542205.html# 在Ubuntu-x64bit 下编译GCC 4.8.2# 安装必要的软件包sudo apt-原创 2014-02-24 15:34:02 · 1763 阅读 · 0 评论 -
Dijkstra算法
#define MAXVEX 9#define INFINITY 65535typedef int Patharc[MAXVEX]; //用于存储最短路径下标的数组typedef int ShortPathTable[MAXVEX]; // 用于存储到各点最短路径的权值和void ShortestPath_Dijkstra(MGraph G, int V0, Pa原创 2014-01-08 15:12:29 · 808 阅读 · 0 评论 -
Kruskal算法生成最小生成树
//先按权值把边的权值升序,begin和end存入边集数组中 // Kruskal算法生成最小生成树int Find(int *parent, int f) {while(parent[f] > 0) {f = parent[f];}return f;} void MiniSpanTree_Kruskal(MGraph G) {int i, n, m;原创 2014-01-08 15:14:15 · 840 阅读 · 0 评论 -
Prim 算法生成的最小生成树
//Prim 算法生成的最小生成树void MiniSpanTree_Prim(MGraph G) { int min, i, j, k; int adjvex[MAXVEX]; //保存相关顶点下标 int lowcost[MAXVEX]; //保存相关顶点间边的权值 lowcost[0] = 0; //V0作为最小生成树的根开始遍历,权值为0 adjvex[0] = 0原创 2014-01-08 15:14:58 · 696 阅读 · 0 评论 -
学习】poj题目推荐+50题说明
【学习】poj题目推荐+50题说明2009-08-28 14:14:17OJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094)初期:一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2转载 2013-12-12 10:14:19 · 1025 阅读 · 0 评论 -
C/C++常用字符串函数实例
1、strchr#include #include char str1[400], str2[400];char az[400], ax[400], bz[400], bx[400];int main(void) { int i, j; while(~scanf(" %s%s", str1, str2)) { int p ; p = strchr(str1, '.')原创 2013-12-11 15:52:44 · 1210 阅读 · 0 评论 -
poj 2362 Square(简单深搜+剪枝)
题目链接:http://poj.org/problem?id=2362题目大意:有t组输入数据,每组数据一行;每行第一个为木棍根数(4判断能否拼成一个正方形解析:深搜剪枝:剪枝:1、木棍数目小于4 2、总木棍长度/4=正方形边长不为整数 3、最大的木棍长度大于正方形边的长度 4、除1、2、3外,找到三条边即可Code:#原创 2013-12-14 03:27:09 · 734 阅读 · 0 评论 -
Nyoj733----C/C++中pow函数与sqrt函数(大数开方数取巧)
double sqrt(double num)double pow(double x, double y)头文件math.hmath.h意义num的算术平方根x的y次方注意 当y为1.0/y,表示x的开y次平方例子:求大数开方数的取巧方法:code:#includ原创 2013-12-14 13:16:34 · 3326 阅读 · 0 评论 -
排序算法之冒泡排序
第一种(标准):#include #include #include void swap(int *a, int i, int j) { int temp = a[i]; a[i] = a[j]; a[j] = temp;}void BubbleSort(int *a, int m) { int i, j; // Something Different for(i=原创 2014-01-02 18:26:03 · 600 阅读 · 0 评论 -
Floyd算法(弗洛伊德算法)
#define MAX 9#define INFINITY 65535typedef int Pathmatirx[MAXVEX][MAXVEX];typedef int ShortPathTable[MAXVEX][MAXVEX];void ShortestPath_Floyd(MGraph G, Pathmatirx *P, ShortPathTable *D)原创 2014-01-08 15:13:39 · 741 阅读 · 0 评论 -
排序算法之归并排序
链表:void MergeSort(SqList *L) { MSort(L->r, L_>r, 1, L->length);}void MSort(int SR[], int TR1[], int s, int t) { int m; int TR2[MAXSIZE+1]; if(s == t) { TR1[s] = SR[s]; } else { m = (s+t)原创 2014-01-02 18:21:56 · 538 阅读 · 0 评论 -
排序算法之直接插入排序
#include void InsertSort(int *a, int n) { int i, j; for(i=2; i<=n; i++) { if(a[i] < a[i-1]) { a[0] = a[i]; for(j=i-1; a[j] > a[0]; j--) a[j+1] = a[j]; a[j+1] = a[0]; } }}int原创 2014-01-02 18:20:41 · 556 阅读 · 0 评论 -
C++用new和不用new创建类对象区别
起初刚学C++时,很不习惯用new,后来看老外的程序,发现几乎都是使用new,想一想区别也不是太大,但是在大一点的项目设计中,有时候不使用new的确会带来很多问题。当然这都是跟new的用法有关的。new创建类对象,使用完后需使用delete删除,跟申请内存类似。所以,new有时候又不太适合,比如在频繁调用场合,使用局部new类对象就不是个好选择,使用全局类对象或一个经过初始化的全局类指针似乎更加高转载 2014-07-05 09:07:30 · 599 阅读 · 0 评论