原创 強制類型轉換-值和地址

今天遇到一個強制類型轉換的問題:一個是對值進行強制類型轉換,一個是對值的地址進行強制類型進行轉換後再次讀取。得到的結果當然不相同。對變量的值進行強制類型轉換,是把值按照另外一種類型進行存儲後讀取,變量在內存中的存儲形式發生變化;而對變量的

原创 算法之插入排序【C語言】

插入排序算法 按照算法導論講解,該算法適合少量數據的排序,時間複雜度O(n2)。 代碼如下: #include <stdio.h> #define MAXSIZE 10 int insert_sort(int array[]); /*

原创 算法之選擇排序【C語言】

選擇排序 思想:在一組數據中,遍歷並找到最小(大)值,與第0位交換,然後從第1位開始遍歷,找到次小(大)值,與第1位交換,以此類推,直到數據按照一定順序排列。 循環不定式: 初始化:把第0位當作最小值,遍歷第1位至數組末尾,找到最小值,與

原创 算法之冒泡排序【C語言】

冒泡排序(從小到大) 算法思想:遍歷一n個數據的數組,比較相鄰數據的大小,把小值放前面,大值放後面,比較數次後,該組數據由小到大排列。假設最小值在最後一個位置,則須經過n-1次才能把最小值交換到第一位,即比較次數最多爲n-1次。 對於內循

原创 數據結構之鏈表的使用【C語言】

鏈表在幾種數據結構中算是比較簡單的,操作也比較簡單。鏈表分爲單向、雙向、循環鏈表,其中單向鏈表是所有鏈表的基礎。結合一個簡單的例子,用C語 言實踐單向鏈表的創建、修改、刪除操作。在實踐的過程中,學習了C語言關於scanf的使用技巧:在s

原创 算法之二分查找【C語言】

下面是遞歸的方法: #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;

原创 算法之合併排序【分治法】【C語言】

分治法思想: 1、分解:將原問題分解成一系列子問題; 2、解決:遞歸地解決各個子問題。若子問題足夠小,則直接求解。 3、合併:將子問題的結果合併成原問題的解。 循環不變式的證明在《算法導論》中P19。 最壞時間複雜度爲O(nlgn). #

原创 【算法】求一個數組中連續數字之和最大的值

題目: 求一個數組中連續數字之和最大值。其中連續數字可以從末尾到起始值,舉例: 數組:1,-2,1,3,-1,3 最大值:7,數組是1,-2,1,3,-1,3 要求: 數組最大長度是100000 值符合[-2000,2000] 計

原创 補碼-自己的理解

參考:http://wenku.baidu.com/view/c5489104581b6bd97f19eab5.html在8位機,或者說8位數中,計算瑪的前提是:1、原碼的範圍是-127~127;2、反碼的範圍是-127~127;3、補碼

原创 問題:註釋嵌套

/*/*/0*/**/1 對於不允許註釋嵌套的編譯器解釋爲: /* / */ 0 * /**/ 1,即0*1,值爲0。 對於允許註釋嵌套的編譯器解釋爲: /*   /* /0 */ * */ 1,只剩下1。 源自《C陷阱與缺陷》。

原创 C程序中數據段的問題

代碼: #include <stdio.h> int main() { char a[] = "123456789"; char b[]="1234"; strcpy(b,a); printf("%s\

原创 bochs中加載linux0.11版本遇到的一些問題

轉載:http://linux.chinaitlab.com/unix/794148.html bochs2.6不識別ips選項了,需要改爲cpu:count=1,ips=15000000。以下是根據資料寫的linux0.11的配置文件:

原创 使用預處理命令註釋代碼

使用/* */註釋多行代碼時,有可能遇到註釋嵌套的問題,現在使用預處理命令,就可以解決這樣的問題了。代碼如下: #if 0     code/statements #endif 點贊 收藏 分享 文章

原创 Linux 2.6.36版本內核分析之sched_get_priority_max與sched_get_priority_min

sched_get_priority_max()獲取實時優先級的最大值【在kernel/sched.c中】 /** * sys_sched_get_priority_max - return maximum RT priority.