![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C C++ 数据结构
文章平均质量分 68
master-dragon
weixin:dwl_1270530306
展开
-
闰年
能被4整除但不能被100整除的,和能被400整除的是润年。例如1900年不是闰年,而2000年,1996年都是闰年原创 2015-08-29 15:01:54 · 412 阅读 · 0 评论 -
C/C++ 数据处理问题,+-*/%,overflow,运行超时等。
求平均数#include <cstdio> #include <cstdlib>#include <cstring>#include <string>#include <vector> #include <algorithm> #include <iostream>using namespace std;const int MA = 0x7fffffff; // INT 最大 = 214原创 2016-08-17 20:10:43 · 2306 阅读 · 0 评论 -
双指针,前后指针法, 快排思路, leetcode
问题: 奇偶数排序,使得奇数位于数组前半部分,偶数位于后半部分#include #include #include #include using namespace std;bool isOddNum(int n){ if(n % 2 == 1) return true; return false;}/* 返回 奇偶交界的位置 */int OddEvenSort原创 2016-06-22 09:48:00 · 1573 阅读 · 0 评论 -
二叉树中两个结点的最近公共祖先(Lowest Common Ancestor of a Binary Tree)
http://ac.jobdu.com/problem.php?pid=1509 题目描述: 给定一棵树,同时给出树中的两个结点,求它们的最低公共祖先。 输入: 输入可能包含多个测试样例。 对于每个测试案例,输入的第一行为一个数n ,n<1000,代表测试样例的个数。 其中每个测试样例包括两行,第一行为一个二叉树的先序遍历序列,其中左右子树若为空则用0代替,其中二叉树的结点个数node_原创 2015-09-08 16:20:33 · 821 阅读 · 0 评论 -
二叉树的非递归遍历 (leetcode-重点掌握不使用栈的非递归)
原文链接:http://www.cnblogs.com/dolphin0520/archive/2011/08/25/2153720.html原创 2015-09-03 20:37:02 · 1792 阅读 · 0 评论 -
快速排序 数组 单链表 (需要时常敲下)
数组快速排序快排注意知识点:每一趟排序,都有一个元素会放到其最终的位置上快排是个不稳定的算法最好情况 最坏情况的区别 –运行时间 与 划分的区间是否对称 相关 最好, 时间复杂度 O(nlog2n) 最坏, 时间复杂度 O(n^2)下面是参考严版教材的快排,可以敲上n遍了,debug运行 看每一步的结果#include <stdio.h>...原创 2015-08-25 11:15:13 · 469 阅读 · 0 评论 -
关于数的基础知识(存储&位运算)
为什么计算机采用补码存储数据http://www.360doc.com/content/12/1009/21/10086564_240513741.shtml字符常量一种是普通字符,即用单撇号括起来的一个字符,如’b’ ,’y’,‘?’。字符常量在储存在计算机的储存单元中时,是以其代码(一般采用ASCII代码)储存的。另一种是转义字符,即特殊字符常量。转移字符是C语言中表示字符的一种特殊形式,其原创 2017-02-12 14:41:57 · 892 阅读 · 0 评论 -
在O(1)时间删除单链表结点
作者:周旭龙出处:http://edisonchou.cnblogs.com题目:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。 原文采用的是C/C++,这里采用C#,节点定义如下: public class Node { // 数据域 public T Item { g转载 2017-02-12 21:04:42 · 327 阅读 · 0 评论 -
Google C++测试单元工具 gtest(二)
gtest 学习和使用系列文章参考 作者:CoderZh 地址:http://www.cnblogs.com/coderzh/archive/2009/03/31/1426758.htmlgtest 断言gtest中,断言的宏可以理解为分为两类,一类是ASSERT系列,一类是EXPECT系列。一个直观的解释就是:ASSERT_* 系列的断言,当检查点失败时,退出当前函数(注意:并非退出当前案例转载 2017-02-22 11:46:25 · 669 阅读 · 0 评论 -
432. All O`one Data Structure (类似 LFU算法的设计)
题目地址https://leetcode.com/problems/all-oone-data-structure/?tab=Descriptionac转载http://www.cnblogs.com/grandyang/p/6012229.html主要是双向链表 + map结构数据结构设计下面是纯粹用自己写的双向链表 和 C++ map 的ac代码 需要注意各种inc和dec处理的各种情况typ转载 2017-02-23 22:29:26 · 737 阅读 · 0 评论 -
C语言实现多态?
c语言实现多态。c++的多态分为两种: 1.编译时多态:重载 2.运行时多态:重写(也称为覆盖override)C++实现函数重载,依据的是不同的函数签名(与返回值无关,函数名+函数参数列表决定,这些将写入函数符号表),具体参考http://blog.csdn.net/qq_26437925/article/details/53740808c语言没有类似C++的上述函数机制。 c语言中有__V转载 2017-03-18 10:08:29 · 2029 阅读 · 0 评论 -
Google C++测试单元工具 gtest简单使用(win vs & linux)
转载于 作者:fengbingchun 地址:http://blog.csdn.net/fengbingchun/article/details/39667571我的实践如下(win7, vs2010, gtest-1.7.0)gtest的github地址如下: https://github.com/google/googletest可以下载一个release版本,比如 https://gi转载 2017-02-22 10:03:20 · 5865 阅读 · 0 评论 -
char *a 与char a[] 的区别
原文地址http://www.cnblogs.com/kaituorensheng/archive/2012/10/23/2736069.htmlchar *a = "hello" 中的a是指向第一个字符‘a'的一个指针char a[20] = "hello" 中数组名a也是指向数组第一个字符‘h’的指针但二者并不相同:看实例:把两个字符串相加:转载 2016-08-06 15:21:48 · 2362 阅读 · 0 评论 -
C 语言,函数call,ret指令,栈变化等
源代码int fun(int a, int b){ a += 1; b *= 2; int c = a + b; return c;}int main(){ int a = 1; int b = 2; int c = fun(a, b); printf("%d\n", c); return 0;}汇编int原创 2017-04-29 11:57:49 · 7726 阅读 · 2 评论 -
C 开发学习中的问题,常见错误点
void* 类型 void*讲解:http://blog.chinaunix.net/uid-26435987-id-3133567.html C语言指针强制类型转换:http://blog.csdn.net/mhjcumt/article/details/7355127原创 2016-04-11 22:43:02 · 516 阅读 · 0 评论 -
找到数组中未出现的最小整数
题目: 给定一个无序整型数组arr,找到数组中未出现的最小整数 例子arr=[-1,2,3,4] return 1 arr=[1,2,3,4] return 5时间复杂度O(n) 空间复杂度O(1)实现函数int missNum(vector<int> nums){ int l = 0; int r = nums.size(); while (l < r)原创 2016-09-22 12:20:09 · 3855 阅读 · 0 评论 -
C语言函数注册,回调
#include <stdio.h>#include <stdlib.h> int add(int a, int b) { return a + b; }int sub(int a, int b) { return a - b; }/* 函数指针 */typedef原创 2016-06-03 22:06:20 · 12731 阅读 · 0 评论 -
排序应用题
试编写一个算法,使之能够在数组L[1..n]中找出第k小的元素(即从小到大排序后处于第k个位置的元素)。原创 2015-09-02 10:41:29 · 636 阅读 · 0 评论 -
希尔排序
希尔排序 不稳定 增量集 最后一个增量为1 #include <stdio.h>#define N 15int a[N] = { 50, 26, 38, 80, 70, 90, 8, 30, 40, 20 };//int a[N] = { 15, 9, 7, 8, 20, -1, 4 };void shellsort(int n, int d){ int i, j, k; for原创 2015-09-02 10:33:45 · 401 阅读 · 0 评论 -
求无向连通图的割点
http://www.cnblogs.com/en-heng/p/4002658.html 求无 向连通图的割点割点与连通度在无向连通图中,删除一个顶点v及其相连的边后,原图从一个连通分量变成了两个或多个连通分量,则称顶点v为割点,同时也称关节点(Articulation Point)。一个没有关节点的连通图称为重连通图(biconnected graph转载 2015-09-02 15:13:04 · 731 阅读 · 2 评论 -
二叉树的操作应用
左右子树交换对于树中每一个元素值为x的节点,删除以它为跟节点的左右子树(该节点本身也要删除),并释放相应的空间先序遍历中第k个节点的值原创 2015-09-01 18:39:47 · 666 阅读 · 0 评论 -
5-19 求链式线性表的倒数第K项 (20分)
5-19 求链式线性表的倒数第K项 (20分)给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。输入格式:输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。输出格式:输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL。输入样例:4 1 2 3 4 5 6 7 8 9原创 2015-10-29 10:27:59 · 5491 阅读 · 0 评论 -
数据结构-题目
#include #include #define N 102int a[N] ;int main(){ freopen("in.txt" , "r" , stdin) ; int n ; int tmp ; while(scanf("%d" , &n) != EOF) { int i ; for(int i = 1 ;i <= n ; i ++) {原创 2015-11-19 11:50:40 · 314 阅读 · 0 评论 -
1074. Reversing Linked List (25)
1074. Reversing Linked List (25)时间限制400 ms内存限制65536 kB代码长度限制16000 B判题程序Standard作者CHEN, YueGiven a constant K and a singly link原创 2015-11-27 18:25:11 · 266 阅读 · 0 评论 -
C strcpy & memcpy & malloc & free
strcpy & memecpy#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ int i; char *ptr = malloc(10*sizeof(char)); ptr[0] = '1'; ptr[1] = '2'; ptr[2] = '\0'; cha原创 2016-06-10 18:30:50 · 1205 阅读 · 0 评论 -
单链表操作-单链表反转问题?
单链表: typedef struct node{ int data; struct node* next; }LNode;关于但链表的操作很多(增删改查,逆序,子交并补等,以及一些经典的变式),考研题目中,有很多好的算法值得学习。下面是C语言实现的, 采用一个method,一个test_method,方便逐个学习,这个需要不断的积累,最好用敲几遍,再原创 2015-09-01 10:53:45 · 444 阅读 · 0 评论 -
"三步反转"处理字符串
istringstream、ostringstream、stringstream 类介绍 . http://www.cnblogs.com/gamesky/archive/2013/01/09/2852356.html 下面的输入处理比较常用:#include <cstdio>#include <iostream>#include <string>#include <sstream>u原创 2016-05-01 21:09:05 · 764 阅读 · 0 评论 -
c++ set multiset
// multiset 可以插入相同的元素 multiset qmax; // 从小到大排列 // 从大到小排列 cmp return a>b 表示大的在前面 multiset原创 2015-09-02 20:46:47 · 317 阅读 · 0 评论 -
sprintf sscanf
http://baike.baidu.com/view/1295144.htm原创 2015-08-30 12:46:00 · 394 阅读 · 0 评论 -
scanf()
scanf()扫描集 http://baike.baidu.com/link?url=uhgtjrCedCPT8QOQm5PJ03hXpRTWiGi4aAwTOCx2- vr6-NmeYBvbWiZf7xkSl5eSgvyrCwfZ3x2YVvo2DBkiPq原创 2015-08-19 15:21:48 · 380 阅读 · 0 评论 -
满二叉树根据前序求后序
#include <cstdio> #include <iostream>using namespace std;#define N 100void pre2post(char pre[] , int preL,int preR , char post[] , int postL , int postR){ if(preL <= preR) { post[po原创 2015-09-04 19:41:22 · 828 阅读 · 0 评论 -
cjson源码学习
cjson源代码下载地址https://sourceforge.net/projects/cjson/?source=directory主要是cJSON.h , cJSON.c , test.c三个文件json结构json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构。 1. 对象:对象在js中表示为“{}”括起来的内原创 2016-09-28 21:29:11 · 1918 阅读 · 0 评论