1二分查詢
前提:有序
時間複雜度:log2^n
空間複雜度
步驟:1取出未查詢區間的中間值(left+right)/2
2查詢關鍵字key與中間值進行比較:如果key>mid(key在右邊),key3key!=mid,則迴圈1到2步驟,直到區間不存在為止
2結構體(struct)
srtuct 型別
定義變數:引用成員
./-> 注:->優先順序大於*
指標與結構體變數:
struct 型別* 變數名
以定義型別的順序進行初始化
以a.b的形式進行引用
分配空間時,會以位元組對齊
以最大長度型別作為基本分配空間單位
如果此成員分配的空間足夠使下面的成員使用,則會共享
3棧(stack)
先進後出
應用:函式呼叫,高階功能計算器,取優先順序
功能:複雜資料型別
棧頂:允許被操做的一端
棧底:不允許被操作的的一端
壓棧 push()
出棧 pop()
棧是否為滿 isfull()
棧是否為空 isempty()
進棧:a->b->c->d
出棧:d->c->b->a
高階功能計算器
中綴表示式 :1+1
字尾表示式 :1 1+
字首表示式 :+1 1
字尾1數字進棧
2如果是運算子則將棧頂與次棧頂取出,進行運算並再次進棧
3直到字尾表示式遍歷完成
中綴轉字尾
1將中綴表示式從左往右遍歷
2如果是數字則成為字尾表示式一部分,如果是運算子時:
(1)如果是(或棧為的優先順序空時直接入棧
(2)如果是)則將棧頂元素依次出棧,直到遇到主括號為止
(3)如果當前運算子的優先順序高則進棧,否則出棧。出棧到棧頂元素要優先順序低於時或棧為空時停止
(4)直到遍歷完成
例:中表示式式: (3+2)-4*2+9
字尾表示式: 3 2 + 4 2 * - 9 +
嵌入式每日學習心得2017 07 08
linux系統管理技術 linux系統的使用方式 1 桌面環境操作 傻瓜化,但功能不夠強大,某些操作效率很低甚至無法完成 2 shell命令 專業高效,但非常不直觀友好,學習難度大,需要記憶命令 要成為unix linux系統骨灰級玩家,必須常用掌握shell命令!常用的桌面環境 gnome kde...
嵌入式每日學習心得2017 07 10
對於linux相關命令,再次作一點總結,今天是上半部分,明天是下半部分 關於布置的小問題 問題1更改使用者名稱 usermod l newusername username 問題2更改主機名 hostname newname vi etc sysconfig network 問題3su和su 的區別...
嵌入式每日學習心得2017 07 13
進製 表數方式,是幾進製,就逢幾進一 十進位制 逢十進一 9 0 123 10 百 十 個 1 3 0 二進位制 逢二進一 1 0 2 八進位制 逢八進一 7 0 0123 八 十 3 8 0 2 8 1 1 8 2 八 二 001 010 011 十六進製制 逢十六進一 f a 9 0 0x321...