12.3 按字元輸入輸出
12.4 linux 程序間通訊的方式
12.5 磁碟管理命令 du df
所有查詢中hash查詢效率最高,在所有排序中,快速排序的效率也是最高的。
採用遞迴函式的方法來實現快速排序!
**
#include
#include
#include
intquick_sort
(int*,
int,
int)
;int
partion
(int*,
int,
int)
;int
main
(int argc,
const
char
* ar**)
printf
("the rand num is:");
for(i =
0; i < n; i++
)puts(""
);quick_sort
(num,
0, n-1)
;printf
("quick_sort num :");
for(i =
0; i < n; i++
)puts(""
);free
(num)
;return0;
}int
quick_sort
(int
*num,
int low,
int hight)
if(low >= hight)
return0;
i =partion
(num, low, hight)
;//拆分操作
quick_sort
(num,
0, i -1)
;//左區間排序
quick_sort
(num, i +
1, hight)
;//右區間排序
return0;
}int
partion
(int
*num,
int low,
int hight)
num[low]
= num[hight]
;//找到要交換的就之間交換
while
((low < hight)
&&(tmp >= num[low]))
num[hight]
= num[low]
;}
num[low]
= tmp;
//low hight重合的時候就是說基準值的位置
return low;
//返回基準值的最終位置
}
二叉樹是非線性結構,每個節點有兩個後繼節點,所以會存在以多種不同的方式來遍歷。
由於二叉樹是具有遞迴性質的,所以二叉樹的遍歷演算法也是遞迴的。
二叉樹的遍歷始終是輸出當前根節點的值,只是輸出的次序可能不一樣。
先輸出根,然後輸出左子樹,最後輸出右子樹。
所以在先序遍歷的時候,也是採用遞迴的方式。
先輸出當前的根,然後訪問當前的左子樹,然後訪問當前的右子樹,當 當前的根為null(也就是當前的節點為空),作為這一分支遞迴的結束。
注意!!!先序遍歷的每次的遞迴都是輸出根的值,因為是先序遍歷,而且每個節點在當前看來都是根節點。
void
preorder
(bitree * r)
printf
("%c"
, r->data)
;preorder
(r->left)
;preorder
(r->right)
;}
void
inorder
(bitree * r)
inorder
(r->left)
;printf
("%c"
, r->data)
;inorder
(r->right)
;}
void
postorder
(bitree * r)
postorder
(r->left)
;postorder
(r->right)
;printf
("%c"
, r->data)
;}
按字元輸入的函式原型如下:
#include
intfgetc
(file *stream)
;//函式,從file流中讀取乙個位元組內容,返回讀取到的值,出錯或者檔案讀完返回eof
intgetc
(file *stream)
;//巨集定義,從file流中讀取乙個位元組內容,返回讀取到的值,出錯或者檔案讀完返回eof
intgetchar
(void);
//函式,預設從stdin流中讀取乙個位元組內容,返回讀取到的值,出錯或者檔案讀完返回eof
其中要注意的是:
按字元輸出的函式原型如下:
#include
intfputc
(int c, file *stream)
;int
putc
(int c, file *stream)
;int
putchar
(int c)
;
注意:
df
與du
表面意思都差不多,都是檢視使用空間的,不同的是df
是顯示磁碟使用空間,du
是先試試檔案和目錄磁碟使用空間,具體訊息如下:
-a 全部檔案系統列表
-h 以方便閱讀的方式顯示資訊
-i 顯示inode資訊
-k 區塊為1024位元組
-l 只顯示本地磁碟
-t 列出檔案系統型別
-a 顯示目錄中所有檔案大小
-k 以kb為單位顯示檔案大小
-m 以mb為單位顯示檔案大小
-g 以gb為單位顯示檔案大小
-h 以易讀方式顯示檔案大小
-s 僅顯示總計
-c 或--total 除了顯示個別目錄或檔案的大小外,同時也顯示所有目錄或檔案的總和
每日一題 第二十二題
第二十二題 韓信點兵 在中國數學史上,廣泛流傳著乙個 韓信點兵 的故事 韓信是漢高祖劉邦手下的大將,他英勇善戰,智謀超群,為漢朝建立了卓越的功勞。據說韓信的數學水平也非常高超,他在點名的時候,為了知道有多少兵,同時又能保住軍事機密,便讓士兵排隊報數 按從1到5報數,記下最末乙個士兵報的數為1 按從1...
每日一題 1
題目詳情 peter喜歡玩數字遊戲,但數獨這樣的遊戲對他來說太簡單了,於是他準備玩乙個難的遊戲。遊戲規則是在乙個n n的 裡填數,規則 對於每個輸入的n,從左上角開始,總是以對角線為起點,先橫著填,再豎著填。這裡給了一些樣例,請在樣例中找到規律並把這個n n的 列印出來吧。輸入描述 多組測試資料 資...
每日一題2018 3 21
leetcode 2 模擬十進位制運算考察單鏈表基本操作。題無難點,個人基礎需要提高。definition for singly linked list.struct listnode class solution while p while q if shi val s next null ret...