原创 一個C語言編寫的坦克大戰遊戲

       在VC6.0平臺下運用一個EasyX的圖形庫,用C語言編寫了一個坦克大戰的小遊戲,代碼和算法都是我自己源生的。文章的兩幅配圖,分別展示了遊戲的開始選擇界面和正在遊戲界面。這個小遊戲,具有遊戲背景音樂,音樂是我在網上搜索到的坦

原创 一個C語言編寫的貪喫蛇遊戲

在VC6.0平臺上,通過C語言和EasyX圖形庫編寫的貪喫蛇小遊戲,爲了使用圖形庫函數,建立的文件是.cpp文件,使用的是C語言編寫,遊戲具有背景音樂,代碼長度500行左右,代碼和算法,都是我自己源生的,分享給有興趣的朋友看看。 源代碼

原创 java thread programming

       這是我在看一本關於java多線程編程的電子書時,覺得該書的講述和所舉的程序例子比較經典,能夠很快的讓讀者理解其內容。因此我通過自己的話來將其中的部分內容進行總結一下。        我們知道,計算機中的運行的組織單位是進程,

原创 經典任務調度算法的模擬程序

        本科畢業設計寫了一個經典任務調度算法的模擬仿真程序,測試了五種調度算法的運行性能。在程序中虛擬了任務的進程,按照不同調度算法策略從進程池中選取任務執行,在任務執行過程中,保存相關的統計參數,最後對這些參數進行處理,反映各個

原创 由一道騰訊面試題引發的關於遞歸函數使用的各種情況總結

        一直有一個感受就是,當我們在某些問題抽象的定義解答時候感到疑惑是,不妨看一下具體問題的解答,更加有助於我們理解問題。首先看一下騰訊的一道招聘的測試題。        1、面試題是一道程序編程題,要求使用遞歸的方法生成一個N

原创 一個C語言編寫的貪吃蛇遊戲

在VC6.0平臺上,通過C語言和EasyX圖形庫編寫的貪吃蛇小遊戲,爲了使用圖形庫函數,建立的文件是.cpp文件,使用的是C語言編寫,遊戲具有背景音樂,代碼長度500行左右,代碼和算法,都是我自己源生的,分享給有興趣的朋友看看。 源代碼

原创 編程驗證帶權圖的最短路徑路由算法

       在在一個帶權圖中,從某一個單源節點,走到其他節點,如何求得所有路徑中的最短路徑,是單元節點最短路徑問題。而在路由算法中,與此類似,可以抽象出該模型來。迪傑斯特拉算法是由荷蘭計算機科學家狄克斯特拉於1959 年提出的。是從一個

原创 關於C指針用法的體會和感受

      提到C語言的靈活性,很容易就想到了指針,而指針也是讓很多人迷惑不解的地方。指針的定義是一種用地址來訪問計算機內存中存儲的數值的方式,在C語言中指針是一種系統定義的類型,在C++的面向對象思想中,指針是一種對象。總之指針的本質是

原创 高爾頓釘板概率模型的實現

        高爾頓釘板是一個關於概率的模型,小球每次下落,將隨機的向兩邊等概率的下落,當有大量的小球都滾下時,最終在釘板下面不同位置收集到的小球數量,將符合二項分佈概率。        出於興趣,在VC編譯環境下,通過C++語言,模擬

原创 關於java 多線程編程的同步問題

      說到線程編程,我們初步的認識,就是通過編程的方式讓系統資源在不同的線程中切換,從而實現系統高效的運行。然後這看似簡單明瞭的問題,實際操作起來,卻隱藏了很多複雜的細節,其中線程間的同步和通信問題,就是導致多線程編程出現各種異常的

原创 互斥量與條件變量在進程間通信的應用——生產者與消費者問題

一、互斥量和條件變量          互斥量是一個可以處於兩種狀態之一的特殊變量:解鎖和加鎖,用於線程(進程)間互斥的進入臨界區。其實互斥量是信號量的簡化版本,信號量也是一種用於線程間互斥的進入臨界區的特殊變量,不過信號量可以等於多個數

原创 信號量與臨界資源的使用——雙向道路汽車過窄橋

         臨界資源或臨界區是指在同一時刻只允許一個進程或線程訪問,並且只有當佔有該資源的進程釋放了該資源後,才能被其他進程使用。因此需要設計一種機制保障進程間的通信,使得不同的進程能夠知道臨界資源的使用情況,當某個進程佔據了臨界資

原创 單源節點最短路徑蠻力法和Dijkstra算法性能對比

一、單源節點問題的對比         在本文中,考慮單源點最短路徑問題,對於一個加權連通圖的一個稱爲起點的給定定點,求出它到所有其他定點之間的一系列最短路徑。需要說明的是,這裏所關心的不是從一個起點出發訪問所有其他定點的單條最短路徑,這

原创 火車進站問題的求解——華爲OJ高級難度題目

一、問題描述         關於火車進站問題的描述是這樣的:N代表火車數量,0<N<10,接下來輸入火車入站的序列,一共N輛火車,每輛火車以數字1-9編號。要求以字典序排序輸出火車出站的序列號。火車進站的序列是固定的,爲輸入時的序列,火

原创 進程間通信的競爭條件詳解

一、競爭條件的含義         競爭條件是由於協作的進程具有彼此都能夠讀寫的共享存儲區導致的,任何兩個或多個進程讀寫某些共享數據,最後的結果取決於進程運行的時序,稱爲競爭條件。爲了進一步瞭解競爭條件的含義,通過下面的兩個案例來說明。