原创 刪除二叉搜索樹中的某個結點

刪除操作的原型爲 int DeleteBSTree(PNode* pRoot, int data),返回類型int用來表示刪除是否成功,其中PNode表示如下typedef int DataType; typedef struct BST

原创 編寫自主shell

1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <unistd.h> 4 #include <string.h> 5 6 void do_shell(

原创 遞歸方式實現打印一個整數的每一位

遞歸方式實現打印一個整數的每一位 #include <stdio.h> void print(int n) { if (n>9) { print(n/10); } printf("%d "

原创 2.編寫一個函數實現n^k,使用遞歸實現

編寫一個函數實現n^k,使用遞歸實現 算法:要求n^k,只要我們求出n^(k-1)就可求出n^k,而要求n^(k-1)只要求出n^(k-2)即可,………………,而當k減爲1時,我們知道n^1=n。 #define _CRT_SECURE_

原创 辨析指針數組 數組指針 函數指針 函數指針數組 指向函數指針數組的指針

要釐清上面的概念,主要在判斷優先級上。 1.指針數組 指針數組:例如 char *p[5]; 因爲 [ ] 的優先級高於 * ,所以p先和[ ] 結合,因此p是一個數組,數組中的元素都是指針,該指針指向char 型數據。換句話說,p中存

原创 遞歸和非遞歸分別實現strlen

遞歸和非遞歸分別實現strlen #include <stdio.h> #include <assert.h> int Mystrlen(const char *str) { if(*str) { return 1+Mystr

原创 使用代碼模擬實現殭屍進程, 孤兒進程的場景

1. 使用代碼模擬實現殭屍進程, 孤兒進程的場景孤兒進程的實現,子進程變成孤兒進程後被1號進程所收養。 1 #include <unistd.h> 2 #include <stdlib.h> 3 #include <stdio.

原创 1.實現一個函數,可以左旋字符串中的k個字符。 ABCD左旋一個字符得到BCDA ABCD左旋兩個字符得到CDAB

1.實現一個函數,可以左旋字符串中的k個字符。 ABCD左旋一個字符得到BCDA  ABCD左旋兩個字符得到CDAB 方法1 將字符串第一個的字符先複製一份,然後依次將字符串向左移動一位,再將第一個字符賦值到最後。若要左旋K個字符,只需循

原创 二叉樹的創建

二叉樹:二叉樹的每個結點至多隻有二棵子樹(不存在度大於2的結點),二叉樹的子樹有左右之分,次序不能顛倒。 採用先序且遞歸創建二叉樹。 二叉樹結點表示如下 typedef char BTDataType; typedef struct

原创 函數調用過程(棧楨的形成與釋放)

分析函數調用過程 首先,main函數也是被其他函數調用的,通過調用棧楨窗口可以看到調用main函數的函數,所謂棧,可以簡單理解爲一種後進先出(先進後出)的結構。main函數位於棧頂,因此程序中第一個執行的函數並不是main函數,但對於我們

原创 寫一個遞歸函數DigitSum(n),輸入一個非負整數,返回組成它的數字之和,例如,調用DigitSum(1729),則應該返回1+7+2+9,它的和是19

 寫一個遞歸函數DigitSum(n),輸入一個非負整數,返回組成它的數字之和,例如,調用DigitSum(1729),則應該返回1+7+2+9,它的和是19。 先模10取出最後一位9,再取出2,再取出3,最後一位小於等於9,直接返回。

原创 readelf命令和Linux中進度條的實現及軟件安裝方式

1. 爲什麼調試的時候需要編譯選項中添加-g,以及readelf命令加入-g選項可以將調試信息加入到到可執行文件中,有了函數名,行號等的調試信息就可以設置斷點進行調試。如果沒有-g選項,你將看不見函數名,變量名,所代替的全是運行時的內存地

原创 使用可變參數,實現函數,求函數參數的平均值

使用可變參數,實現函數,求函數參數的平均值 可變參數要實現必須得保證參數列表中至少有一個參數,否則無法使用va_list 可變參數的實現過程:

原创 1.編寫函數: unsigned int reverse_bit(unsigned int value); 這個函數的返回值value的二進制位模式從左到右翻轉後的值

題目:編寫函數: unsigned int reverse_bit(unsigned int value); 這個函數的返回值value的二進制位模式從左到右翻轉後的值。 如: 在32位機器上25這個值包含下列各位: 0000000000