原创 改進基於優先隊列的最短路徑搜索『洪水流思想的體現』

這問題是在博客上看到的,爲此學習一下,然後在他的基礎上,修改完成迷宮洪水流算法的實現 題目是 Problem Description Angel was caught by the MOLIGPY! He was put in p

原创 GNU LIBC源碼學習之strcmp

比較兩個字符串 我的代碼塊 #include <string.h> int my_strcmp(const char* s1,const char * s2) { if((s1==NULL)||(s2==NULL)) r

原创 重新認識Segment fault

對於這個問題,只是之前聽說過,並沒有研究過。最近在oj編程時,vs上運行沒有問題,提交時出現了段錯誤。爲此重視一下這個問題。 在維基上給出這個名詞的定義 A segmentation fault occurs when a pr

原创 inline陷阱問題

在規範c++編程時遇到的,即類的文件定義 常規的對類的使用,在class.h對類進行生命,對於成員函數在class.cpp中定義,如下實現 main.cpp #include<iostream> #include "person.h"

原创 linux之return和exit引發的大問題(vfork和fork)

在coolshell.cn上看到的一個問題,爲此拿來研究一下。 首先 看看return和exit的區別 在linux上分別跑一下這個代碼 int main() { return 0; //exit(0); }

原创 解決c/c++的sequence points和side effects問題

在看一篇文章時,提到這樣一段代碼 #include <stdio.h> void foo(void) { int a = 41; a = a++; printf("%d\n", a); } int main(void) { foo

原创 編寫nios-shell時想到的問題-回車vs換行

在編寫nios上類shell用戶交互代碼時,因爲要檢測終端輸入字符,所以想到了這個問題,故分析之。 回車符的ascii碼,ASCII碼13 ‘\r’ 換行符的ascii碼,ASCII碼10 ‘\n’ 符號

原创 回溯算法的一些案例分析(c代碼實現)

回溯算法也叫試探法,它是一種系統地搜索問題的解的方法。回溯算法的基本思想是:從一條路往前走,能進則進,不能進則退回來,換一條路再試。用回溯算法解決問題的一般步驟爲: 1、定義一個解空間,它包含問題的解。 2、利用適於搜索的方法

原创 分析編譯器對C關鍵字的處理『跳過編譯器的語法檢查,完成很危險的操作』

在c中const這個關鍵字,維基給出這樣一句話 When applied in an object declaration,[b] it indicates that the object is a constant: its

原创 剖析prim最小生成樹算法

在上一篇博客中,已經用代碼實現了這個算法。只是我認爲從算法到代碼實現,這是一個很大的過渡,不喜歡教科書式的順理成章的過渡,雖然下面寫的不知所云,雖然我很菜。 看完上篇博客中代碼,想想其中一些問題, 1、如何將圖的相互關係,用合適

原创 每天小練筆10-小和尚挑水(回溯法)

題目 某寺廟裏7個和尚:輪流挑水,爲了和其他任務不能衝突,各人將有空天數列出如下表: 和尚1: 星期二,四; 和尚2: 星期一,六; 和尚3: 星期三,日; 和尚4: 星期五; 和尚5: 星期一,四,六; 和尚6:

原创 解決關於哈夫曼編碼計算帶權路徑長度問題

這是在做一道編程提示遇到的,學習了一位博主的編碼,其中有些問題未能理解,分析解決掉。 首先什麼是哈夫曼樹: 哈夫曼樹,又稱最優二叉樹,是一類帶權路徑長度最短的樹。 也就是根節點到節點的中的長度最小,當然條件就是,每條路徑都是

原创 nios軟核cpu中架構類shell的一種解決方式『linux 系統函數調用的方法』

在nios中要實現一個類shell的交互系統,用戶在終端可以通過命令調用系統函數。 想到linus當年在寫下系統函數調用時,其實基於的思想是一樣的,就是查表,每一種系統函數都對應一種中斷服務號,然後通過0x80系統調用進入內核,

原创 STL--關於權重問題的解決

在A star算法中就出現了權重問題,是數據結構中涉及到權重或者說是優先級的就是優先隊列了,爲此分析一下,這類問題的共性。 在STL中queue頭文件中,有priority_queue的類 這是優先隊列,在涉及權重問題時可以使用

原创 按照特定軌跡遍歷字符串圖

題目大致是這樣的, 字符串“PAYPALISHIRING”的一種“之”字型路線是這樣的: 如果一行一行的讀寫,就是PAHNAPLSIIGYIR。 所以,如果輸入PAHNAPLSIIGYIR和3,就是橫着的字符串和層數,輸出