Steve Sun的专栏

撸呀么撸代码~

各种排序算法

快速排序: void Qsort(int a[], int low, int high){ if(low <= high) return; int first = low, last = high; int key = a[first]; while(first < las...

2015-04-06 17:10:49

阅读数:400

评论数:0

最长公共连续串问题

#include #include using namespace std; int a[100][100]; int getSubStringLen(string query, string text){ int max = 0; int m = query.length(), n =...

2015-04-02 14:43:08

阅读数:323

评论数:0

反转句子

加句子反转, 例如将nice to meet you 反转成为 you meet to nice void reverse(char *p, char *q){ while(p < q){ char tmp = *p; *p++ = *q; *q-- = tmp; } } ...

2015-04-02 14:16:44

阅读数:1956

评论数:0

最大递增子序列LIS

1、一串数据的最大递增序列,输出个数 例如 4,2, 6,3, 1,5, 最大递增序列为, 2,3, 5,输出3 #include using namespace std; #define MAXN 100 int list[MAXN], dp[MAXN]; int max(int a...

2015-04-02 00:27:47

阅读数:758

评论数:0

ms笔试存档

第一题: #include #include #include #include using namespace std; int fib[10] = {1, 2, 3, 5, 8, 13, 21, 34, 55, 89}; bool isFib(string s){ int a...

2015-04-25 00:03:20

阅读数:211

评论数:0

数据库设计三大范式

总结起来就是:第一范式是不可拆分                      第二是完全依赖                      第三消除传递依赖  数据库设计三大范式 为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称...

2015-04-20 21:51:26

阅读数:258

评论数:0

面向对象编程3大特性 7大原则

一、面向对象的特性 三个基本的特性:封装、继承与多态。 1、封装 面向对象编程核心思想这一就是就是将数据和对数据的操作封装在一起.通过抽象,即从具体的实例中抽取共同的性质形成一般的概念,比如类的概念. 2、继承 继承体现了一种先进的编程模式.子类可以继承父类的属性和功能,即子类继...

2015-04-20 21:42:26

阅读数:1374

评论数:0

在构造函数/析构函数中调用虚函数

先看一段在构造函数中直接调用虚函数的代码: 1 #include 2 3 class Base 4 { 5 public: 6 Base() { Foo(); } ///< 打印 1 7 8 virtual void Foo() 9 ...

2015-04-19 17:32:54

阅读数:3727

评论数:0

约瑟夫环问题

用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。 #include using namespace std; struct node{ int data; node *next; }; void createList(node *&head...

2015-04-17 00:36:23

阅读数:319

评论数:0

C++函数中那些不可以被声明为虚函数的函数

常见的不不能声明为虚函数的有:普通函数(非成员函数);静态成员函数;内联成员函数;构造函数;友元函数。 1、为什么C++不支持普通函数为虚函数?       普通函数(非成员函数)只能被overload,不能被override,声明为虚函数也没有什么意思,因此编译器会在编译时邦定函数。...

2015-04-16 21:33:51

阅读数:309

评论数:0

UDP协议格式

UDP协议在IP协议上增加了复用、分用和差错检测功能。UDP的特点:        A)是无连接的。相比于TCP协议,UDP协议在传送数据前不需要建立连接,当然也就没有释放连接。        B)是尽最大努力交付的。也就是说UDP协议无法保证数据能够准确的交付到目的主机。也不需要对接...

2015-04-16 01:45:34

阅读数:12826

评论数:0

一个M*N的矩阵,元素取值1或0,问如何找到最大的正方形,其所有的元素都为1

一个M*N的矩阵,元素取值1或0,问如何找到最大的正方形,其所有的元素都为1 #include #define MAX 500 int matrix[MAX][MAX]; int min(int a, int b){ return a < b ? a : b; } int mai...

2015-04-11 22:53:43

阅读数:5426

评论数:3

算数表达式求值

不带括号时,直接遍历一次,再累和 #include #include int main(){ char ch; int a[200], temp; while(scanf("%d", &a[0]) != EOF){ int i = 0; while...

2015-04-11 16:32:27

阅读数:384

评论数:0

利用union判断系统的大小端

大端模式 所谓的大端模式,是指数据的高位,保存在内存的低地址中,而数据的低位,保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放; 小端模式 所谓的小端模式,是指数据的高位保存在内存的高地址中,而数 据的低位保...

2015-04-10 22:47:24

阅读数:443

评论数:0

语法小问题

int *&t  = p ; t为指针*p的引用 *p = NULL; 不能直接给*p赋值

2015-04-07 22:16:22

阅读数:255

评论数:0

函数指针

#include using namespace std; int inc(int a) { return (++a); } int multi(int *a, int *b, int *c){ return (*c = *a * *b); } typedef int(FUNC1)(i...

2015-04-06 01:38:03

阅读数:306

评论数:0

C++的五种内存存储区

在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。   栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。   堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程...

2015-04-06 00:40:23

阅读数:307

评论数:0

非递归遍历

2、非递归遍历 前序: void preOrder2(BinTree *root) //非递归前序遍历 { stackBinTree*> s; BinTree *p=root; while(p!=NULL||!s.empty()) { ...

2015-04-04 23:22:39

阅读数:256

评论数:0

从输入网址到显示网页的全过程分析

作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等。 本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事~ 1. 首先嘛,你得在浏览器里输入要网址: 2. 浏览...

2015-04-02 00:33:40

阅读数:4132

评论数:0

A、B两个整数集合,设计一个算法求他们的交集,尽可能的高效。

A、B两个整数集合,设计一个算法求他们的交集,尽可能的高效。 (博主能力有限,不是所有题目都会求解,第1题不是我的擅长,这里贴出来让大家知道腾讯的考题。我的重点放在第2题上面!)   第2题  题解(个人见解,仅供参考!) 思路1:排序法   对集合A和集合B进行排序...

2015-04-01 21:00:00

阅读数:2337

评论数:0

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