原创 打印1到最大的n位數

打印1到最大的n位數,例如n = 2時打印出1,2。。。99 這裏用了分治(應該是分治吧。。。),直接貼代碼,挺有意思的: #include <iostream> #include <string> using namespace std

原创 計算機一個很重要但卻容易被忽視的概念——堆和棧

轉自:http://blog.csdn.net/byr_syr/article/details/8573623 剛上路的小司機忽視的概念——堆棧 這兩天學習win32的API, 瞭解到了計算機中堆棧的概念,相信很多程序員有時候也弄不

原创 重建二叉樹

對於一顆二叉樹,可以根據先序遍歷(後序遍歷)和中序遍歷重新還原出二叉樹。比如前序遍歷爲{1,2,4,7,3,5,6,8},中序遍歷爲{4, 7, 2, 1,5,3,8,6}。 根據先序遍歷和中序遍歷還原二叉樹的主要思想: 1、先序遍歷序列

原创 把字符串中的空格替換成“00”

#include <iostream> using namespace std; void ReplaceBlank(char* str, int len) { if (str == NULL || len == 0) retur

原创 二維數組面試題(外加創建動態數組)

自己老是忘掉,所以乾脆寫一個在博客存着。另外,附上兩道題:1 二維數組中的查值 2 順時針打印一個二維數組 C++創建動態數組: 一維數組: int *x = new int [size]; delete [] x; 二維數組,直接上代碼

原创 各種常見排序函數的C++代碼

#include <iostream> using namespace std; /**********直接插入排序****************/ void InsertSort(int *a, int len) { for (i

原创 LinuxC/C++編程(9)—映射內存

簡單來說,映射內存,就是創建硬盤文件到進程地址空間的映射,在進程中讀寫這段映射內存,可以向硬盤文件中直接同步。 利用這點,映射內存也可以像共享內存一樣,用來進行不同進程之間的通信。(但共享內存的效率較高,

原创 LinuxC/C++編程(8)—共享內存通信

懶,先貼代碼,有空再更原理: 寫共享內存: //============================================================================ // Name : s

原创 分佈式入坑

工作需要,明天入坑分佈式。 老規矩,先挖坑有空填。。。

原创 兩個用大數相加(轉化爲字符串再相加)

#include <iostream> #include <string> #include <algorithm> using namespace std; string AddTwoString(string a, string b

原创 LinuxC/C++編程(3)—異步清理子進程(避免成爲殭屍進程)

先了解Linux中進程的一些機制: 孤兒進程和殭屍進程: 1 如果父進程先退出,子進程尚未退出,那麼子進程會成爲孤兒,這時候會被init進程領養,等到子進程生命週期結束後,init會作爲父進程釋放掉子進程

原创 ubuntu16.04上用虛擬環境上安裝django的指南

Python兼容性坑太多,所以記一下。 環境是ubuntu16.04 + python 2.7。 先安裝虛擬環境: $ sudo apt-get install python-virtualenv 如果用pip安裝了virtualenv或

原创 LinuxC/C++編程(6)—重定向、管道重定向

        LinuxC中的重定向功能,必須依靠等位文件描述符函數dup,該函數的介紹如下:        dup和dup2用來複制文件描述符。 函數介紹: #include <unistd.h>

原创 LinuxC/C++編程(5)—SystemV信號量

Linux中有多種類型的信號量,其中SystemV是比較重要的一種,常用於多進程同步和進程間通信。常用的函數均包含於<sys/sem.h>中。 參考了一篇很不錯的博客文章:點擊打開鏈接 自己寫了一個程序,兩個進程分別向控制檯打印字符串,兩

原创 LinuxC/C++編程(7)—守護進程

        守護進程(Daemon)是運行在後臺的一種特殊進程。它獨立於控制終端並且週期性地執行某種任 務或等待處理某些發生的事件。        守護進程是一種很有用的進程。Linux的大多數服務器