原创 二叉樹的創建、先根、中根、後根遍歷

樹的定義: 樹是n個結點的有限集。 n=O 時稱爲空樹。 在任意-棵非空樹中: ( 1 )有且僅有一·個特定的根結點: (2)若干子樹(互不相交)  樹的定義是遞歸定義的 二叉樹( Binary Tree) 是 n個結點的有限集合,該集

原创 git與github

相信大家都使用過或者聽說過github,github上的項目都是公開的,那麼怎麼把自己的東西上傳到網站呢? 這就要使用git了,看了廖老師的教程做了簡單總結以加深記憶。 git可以輕鬆管理這些項目。1 什

原创 I/O複用之select

一 I/O複用概述 I/O複用使得程序能同時監聽多個文件描述符。 二 常用函數 linux下實現I/O複用的系統調用有select,poll,epoll. 三 select詳解 select系統調用:在一段時間內,監聽用戶感興趣的文件

原创 位運算之求整數二進制表示中1的個數

題目要求;輸入一個整數,求這個整數二進制表示中1的個數。 這是一道位運算的題目,首先位運算有下面幾種。 1 按位與 & 2 按位或 | 3 按位異或 ^ 4 按位取反 ~ 5 左移  << 6 右移 >> 這個題目的思路是,把這個整數與1

原创 交換兩個整數的值

c語言中經常會遇到交換兩個數的值的函數,在這裏列幾種方法,並做簡單比較。 方法一:藉助tmp變量,這是最原始的方法,也是最容易想到的方法。 //原始做法是定義一個tmp,作爲中間值,完成交換,這是最容易想到的方法 void swap1(i

原创 數據結構之順序表實現

順序結構:元素邏輯相鄰,物理也相鄰 線性表的順序實現:順序表 (按索引值從小到大放在一片相鄰的連續區域) 順序表定義:一組內存地址連續的存儲單元依次存儲數據元素,也稱向量。 順序表可分爲:定長順序表和可變長順序表 優點:根據下標隨機取元素

原创 排序算法之快速排序

排序算法是經常使用的排序算法,分爲冒泡排序、交換排序、選擇排序等簡單排序和快速排序、堆排序、歸併排序等稍微高效的排序。 下面共同學習一下快速排序。 快速排序的思想是,一趟排序完成後,以一個數爲分割,左邊都比它小,右邊都比它大,這個數放在了

原创 遞歸之斐波那契數列

 斐波那契數列 f(n) = 1 1 2 3 5 8 13 21 34 55 89 144 233 377 ... 特點:第n項的值等於第n-1和第n-2項值的和 問題描述:求斐波那契數列的第n項 實現: 1循環 int fac(in