今天从刘汝佳的书上看到一个简单的栈的题目
有n节车厢从A方向驶入车站,按进站顺序编号1~n。现让这些火车按照某种特定的顺序进入B方向的铁轨并驶出车站。为了重组车厢,可以借助中转站C。C是一个可以停放任意多节车厢的车站,但由于末端封顶,驶入C的车厢必须按照相反的顺序驶出C。对于每个车厢,一旦从A移入C,就不能再…… 阅读全文
Monthly Archives: September 2012
从点击到呈现 — 详解一次HTTP请求(1)
其实想这个内容很久了,一方面是回顾自己所学的 http 知识,另外一方面也是分享吧,因为目前为止没有看到网络上有类似我想写的东西。
一般来说,很多的参考资料上面都会说,http 是一个基于请求/响应的工作模式,然后画出一张浏览器和服务器的 b/s 结构图,再画上两个箭头,表示请求和响应,应该说这么解释是易懂的,一般…… 阅读全文
输出一个字符串的组合
跟上次输出一个字符串的排列类似,http://zrj.me/archives/472,要求输出一个字符串的组合,思路也是递归
#include <stdio.h>
#include <string.h>
void combine(char str[], int str_index, char res_total, char result[], int res_index)
{
if (res_total == res_index)
{
for (int i=0; i<res_…… 阅读全文
KMP 串匹配
昨天一天没有写出代码来,惭愧惭愧,昨天在看红黑树和堆排序,可惜最后都没有能写出东西来,渐渐的感觉网络上的中文资料不太可以依赖了啊,要么就是没有,要么就是 google 出来排名在前面的都会写错,看来要么转向英文资料,要么转向纸质书了
今天参考这里,http://blog.csdn.net/v_july_v/…,写了个 KMP 串匹配,…… 阅读全文
1亿以内的回文质数
今天下午看到这么一个题
找出 1 亿以内的回文质数
很自然的思路就是素数筛,然后验证回文性质
#include <iostream>
#include <cmath>
#include <ctime>
#define TOTAL 100000000
using namespace std;
bool is_prime[TOTAL];
void Sieve_of_Eratosthenes()
{
memset(is_prime, 1, sizeof(is_pri…… 阅读全文
用有序二叉树来统计单词
今天上午看到一个题
本程序从正文文件text.in读入一篇英文短文,统计该短文中不同单词和它的出现次数,并按词典编辑顺序将单词及它的出现次数输出到正文文件word.out中.程序用一棵有序二叉树存储这些单词及其出现的次数,一边读入一边建立.然后中序遍历该二叉树,将遍历经过的二叉树上的节点的内容输出.
搞了一会,代码如下
…… 阅读全文
攒机清单一份
昨天帮自己家里装了一台机,配置如下
AMD 641
技嘉 A75-M DS2
金士顿 4G D3 1600
WD SATA3 16M 500G
迪兰 HD6770 恒金二代 1G
先锋 DVR-220-CHV
大水牛 1015
ANTEC VP-350
超频三 红海mini 静音版
飞利浦 220C1SB
3500左右,总的感觉没有什么太大的短板,应该 ok,装的时候超频三 红海mini 那个风扇实在装不上,目前还…… 阅读全文
Faulty Odometer
今天上午看了一下榜,http://acmicpc.info/icpc2012/t…,发现大家 a 题刷刷的过,于是自己也敲了一下,好久没有敲题,居然一次过了 sample,呵呵,不过后来跟同学讨论的时候,发现我那个暴力模拟的思路实在太弱智了,在同学的指点下改成了进制转换的思路,没有账号,所以没有的交,不过 sample 是过了
题目,附上 …… 阅读全文
二叉树的遍历
参考 http://blog.csdn.net/acdnjjjdj… 写了二叉树的遍历,(基本上就是照抄的,囧),抄的时候感慨,stl 真是个好东西啊,另外,在三种次序遍历的实现上,递归的精巧发挥的淋漓尽致啊,还有就是非递归的遍历,设计真的好巧妙
#include <iostream>
#include <queue>
#include <stack>
using n…… 阅读全文
链表的反转
今天上午自己写了一个链表的反转
#include <stdio.h>
#include <stdlib.h>
typedef struct _node
{
int n;
_node *next;
} node;
int create_link(node **phead)
{
int x = 0;
printf("input nums, press Ctrl+Z(win) or Ctrl+D(linux) to endn");
if (scanf("%d", &x) <…… 阅读全文