每日一題(二十)

2021-10-11 09:23:25 字數 3476 閱讀 9143

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)

;

注意:

dfdu表面意思都差不多,都是檢視使用空間的,不同的是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...