原创 數據結構之算法的時間與空間複雜度

數據結構之算法的時間與空間複雜度 1.算法效率 算法效率分析分爲兩種:第一種是時間效率,第二種是空間效率。時間效率被稱爲時間複雜度,而空間效率被稱作空間複雜度。時間複雜度主要衡量的是一個算法的運行速度,而空間複雜度主要衡量一個算

原创 數據結構線性表之棧與隊列

數據結構線性表之棧與隊列 1.棧 1.1.什麼是棧? 棧:一種特殊的線性表,其只允許在固定的一端進行插入和刪除元素操作。進行數據插入和刪除操作的一端稱爲棧頂,另一端稱爲棧底。棧中的數據元素遵守後進先出LIFO(Last In F

原创 函數模板與類模板?看這就夠了

C++函數模板與類模板 1. 泛型編程 如何實現一個通用的交換函數呢? 請看下列代碼 void Swap(int& left, int& right) { int temp = left; left = right; rig

原创 關於C/C++內存管理,你該知道這些

C/C++內存管理 1. 動態內存分配 爲什麼存在動態內存分配? 我們已知的內存開闢方式有: int val = 20;//在棧空間上開闢四個字節 char arr[10] = {0};//在棧空間上開闢10個字節的連續空間

原创 C++類與this指針

C++類與this指針 1.類 1.1.什麼是類? class Name { // 類體:由成員函數和成員變量組成 }; 上述代碼中:class爲定義類的關鍵字,Name爲類的名字,{}中爲類的主體,注意:類定義結束時後面分

原创 三子棋的C語言實現

用C語言實現三子棋代碼 今天將用C語言代碼來實現三子棋遊戲: 首先,完成該遊戲需要創立一個game.h的頭文件,以及game.c的源文件,還有包括主函數的測試test.c文件,這也是所有遊戲的基本格式。 具體步驟如下: 1.創建菜

原创 掃雷遊戲C語言實現

用C語言代碼實現掃雷遊戲 要求: 1.第一次下子,不炸死。 2.座標周圍沒雷,可以實現展開。 首先,需要創立一個game.h的頭文件,以及game.c的源文件,還有包括主函數的test.c文件,這與三子棋遊戲的格式完全一致。 1.

原创 操作符的妙用

操作符在C語言中的妙用 操作符在C語言有着極其重要的地位,比如我們常用的加減乘除以及取模運算等。但其實操作符遠遠不止這些,主要歸爲以下幾類: 算術操作符 移位操作符 位操作符 賦值操作符 單目操作符 關係操作符 邏輯操作符

原创 Linux發展史及常用基本指令

Linux發展史及常用基本指令 什麼是Linux?   Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟件、應用程

原创 向着夢想前進,前進,前,進,進——我的編程之路

向着夢想前進,前進,前,進,進——我的編程之路 我叫張凱,來自西安工程大學,是一名數學專業的大三理工男。在上大學之前,我每天都沉溺於數理化中的海洋中不能自拔,也沒時間去玩電腦,碰電腦。因此我從來不知道什麼叫office,更不知道C

原创 數據結構線性表之順序表與鏈表

數據結構線性表之順序表與鏈表 1.什麼是數據結構? 數據結構是一門研究非數值計算的程序設計問題中計算機的操作對象以及它們之間的關係和操作等的學科。 下面用一張圖簡單梳理數據結構的知識點 2.什麼是線性表? 線性表是最常用且

原创 聊聊關於C語言(VS軟件)中的棧保護機制

關於C語言(VS)中的棧保護機制 棧保護機制(VS軟件)是爲了防止棧溢出而專門設計的一種保護機制。在初始化多個變量,或者初始化數組之後,計算機在棧中開闢內存時,一般會留出“緩衝區”,來降低利用棧溢出漏洞的可能性。 下面我們來看一個

原创 數據在內存中的存儲方式

數據在內存中的存儲方式 1.爲什麼計算機是二進制存儲 目前我們使用的計算機主要是採用數字集成電路所搭建。由於數字電路只能表示0和1,所以計算機只認識這兩個數字。數字電路是用數字信號完成對數字量進行算數運算和邏輯運算的電路。 計算機