/*/*/0*/**/1
對於不允許註釋嵌套的編譯器解釋爲: /* / */ 0 * /**/ 1,即0*1,值爲0。
對於允許註釋嵌套的編譯器解釋爲: /* /* /0 */ * */ 1,只剩下1。
源自《C陷阱與缺陷》。
今天遇到一個強制類型轉換的問題:一個是對值進行強制類型轉換,一個是對值的地址進行強制類型進行轉換後再次讀取。得到的結果當然不相同。對變量的值進行強制類型轉換,是把值按照另外一種類型進行存儲後讀取,變量在內存中的存儲形式發生變化;而對變量的
插入排序算法 按照算法導論講解,該算法適合少量數據的排序,時間複雜度O(n2)。 代碼如下: #include <stdio.h> #define MAXSIZE 10 int insert_sort(int array[]); /*
選擇排序 思想:在一組數據中,遍歷並找到最小(大)值,與第0位交換,然後從第1位開始遍歷,找到次小(大)值,與第1位交換,以此類推,直到數據按照一定順序排列。 循環不定式: 初始化:把第0位當作最小值,遍歷第1位至數組末尾,找到最小值,與
冒泡排序(從小到大) 算法思想:遍歷一n個數據的數組,比較相鄰數據的大小,把小值放前面,大值放後面,比較數次後,該組數據由小到大排列。假設最小值在最後一個位置,則須經過n-1次才能把最小值交換到第一位,即比較次數最多爲n-1次。 對於內循
鏈表在幾種數據結構中算是比較簡單的,操作也比較簡單。鏈表分爲單向、雙向、循環鏈表,其中單向鏈表是所有鏈表的基礎。結合一個簡單的例子,用C語 言實踐單向鏈表的創建、修改、刪除操作。在實踐的過程中,學習了C語言關於scanf的使用技巧:在s
下面是遞歸的方法: #include<stdio.h> int binary_search(int array[],int start_p,int end_p,int value) { int middle = -1;
#include <stdio.h> #include <stdlib.h> #define SUCCESS 1 #define FAIL 0 struct bheap { struct bheap* parent;
分治法思想: 1、分解:將原問題分解成一系列子問題; 2、解決:遞歸地解決各個子問題。若子問題足夠小,則直接求解。 3、合併:將子問題的結果合併成原問題的解。 循環不變式的證明在《算法導論》中P19。 最壞時間複雜度爲O(nlgn). #