从点击到呈现 — 详解一次HTTP请求(2)

上回说道服务器启动了监听服务,准备迎接来自客户机的请求。那么,我们以一次典型的浏览请求来解析: 当我们开始在浏览器中输入网址的时候,浏览器其实就已经在智能的匹配可能得 url 了,他会从历史记录,书签等地方,找到已经输入的字符串可能对应的 url,然后给出智能提示,对于 google chrome 那种变态的浏览器,他甚……

阅读全文

printf 一定需要 stdio.h 吗

刚刚看到一个范例代码,调用了 printf 函数,但是却没有包含 stdio.h 的头文件,这种写法第一反应就应该是不对的啊,本着动手实验的原则,试了一下 zrj@vm:~/c/test$ cat test.c int main() { printf("hello worldn"); return 0; } zrj@vm:~/c/test$ gcc -o test test.c test.c: 在函数‘main’中: t……

阅读全文

子数组最大和

昨天笔试看到一个求子数组最大和,参考这里,http://blog.csdn.net/v_JULY_v/…,写了一下,复杂度 O(n) #include <stdio.h> int max_sum(int *a, int n) { int max = a[0]; int sum = 0; for (int i=0; i<n; i++) { if (sum < 0) { sum = a[i]; } else { sum += a[i]; } if……

阅读全文

最短脚本下载文件

今天遇到一个题,给定一个文本文件,每一行一个 url,用脚本把他们下载回来,语言不限,越短越好 简短这种事情首先想起 python import urllib f = open("url.txt", "r") for line in f: urllib.urlretrieve(line, line[line.rfind("/") + 1:-1]) f.close() 准备的 url.txt,需要注……

阅读全文

蛇形填数

之前因为家里的原因,回乡下一个星期,期间都没有机会,也没有心情写代码,一个星期就这么毫无长进,罪过。 看到一个蛇形填数的题目,搞了搞,代码如下 #include <stdio.h> #include <stdlib.h> void print(int **a, int n) { for (int y=0; y<n; y++) { for (int x=0; x<n; x++) { printf……

阅读全文

生成可重集的排列

刘汝佳在算法竞赛入门经典,http://book.douban.com/subject…,的 118 页提到生成一个可重集的全排列问题,跟上次的 生成一个字符串的全排列 很相像,但是写法却巧妙很多 #include <stdio.h> void quick_sort(int a[], int left, int right) { int i=left, j=right; int povit = a[(i+j)/2]; while (i ……

阅读全文

栈结构练习

今天从刘汝佳的书上看到一个简单的栈的题目 有n节车厢从A方向驶入车站,按进站顺序编号1~n。现让这些火车按照某种特定的顺序进入B方向的铁轨并驶出车站。为了重组车厢,可以借助中转站C。C是一个可以停放任意多节车厢的车站,但由于末端封顶,驶入C的车厢必须按照相反的顺序驶出C。对于每个车厢,一旦从A移入C,就不能再……

阅读全文