學習總結 《演算法筆記》(c語言版)

2021-09-06 23:19:22 字數 1961 閱讀 4736

摘自《演算法筆記》,胡凡主編

1.%md,可以使不足m位的int形變數以m位進行右對齊輸出,其中高位用空格補齊;如果變數本身超過m位,則保持原樣。

#include

intmain()

輸出結果:

123

3456789

2.%0md,與上述不同的是不足m位時,用0補全,而非空格。

3.%.mf,讓浮點數保留m位小數輸出,採用「四捨六如五成雙」規則。

4.輸入、輸出字元

getchar和putchar,在某些scanf函式使用不便的情況下使用,輸入或輸出單個字元。

#include

intmain()

若輸入為:

abcd
則輸出為

acd
當然也可以使用gets和puts進行輸入輸出整個字串,gets識別"\n"作為一行字串的結束。

5.break和continue語句

區分:break跳出整個迴圈體;而continue只是跳出改迴圈體的本次輪迴,進入下一次輪迴;

#include

intmain()

for( i =

1; i <=

5; i++

)printf

("%d\n%d\n"

,sum1, sum2)

;return0;

}

輸出結果

0

6

6.指標變數中*表示取出位址中存放的數,&表示取該變數位址。

7.string.h標頭檔案

strlen(字元陣列)		//得到陣列中第乙個\0前的字元的個數

strcmp(字元陣列1,字元陣列2) //按字典序排序

strcpy(字元陣列1,字元陣列2) //把字元陣列2賦值給字元陣列1

strcat(字元陣列1,字元陣列2) //把字元陣列2接到字元陣列1後面

8.sscanf(str, "%d", &n) //把字元陣列str的內容以"%d"的形式寫到n中

sprintf(str, "%d", n) //把n以"%d"的格式寫到str字元陣列str中

9.二位陣列作為形參時,第二個方括號裡面必須為一確定整數。

10.函式遞迴

#include

intf

(int n)

intmain()

11.引用&,並不是取位址的意思。引用不產生副本,只是給原變數起了乙個別名,對引用變數的操作就是對原變數的操作。

關於指標的引用

void

swap

(int

*&p1,

int*

&p2)

1.結構體裡面可以定義除自身外的任何型別的資料型別,但可以定義自身型別的指標變數。

2.使用".「或」->"來訪問結構體內的元素

3.關於結構體中的建構函式

struct stuinfo

//或是這樣表示建構函式

stuinfo

(int id1,

char gender2):id

(id1)

,gender

(gender1)

};

1.定義常量const double pi = acos(-1.0);

2.巨集定義函式,比如#define f(a, b) ((a) > (b) )

3.時間複雜度o(1)

線段樹 快速總結 演算法筆記

主要的目的是記錄一哈二維線段樹,在此之前先簡單總結一下一維線段樹。線段樹顧名思義,處理線段 或者稱為區間 的整體屬性的一種資料結構。主要操作為 範圍更新與查詢,時間複雜度為logn級別的。構建過程為 這棵樹將所定範圍 區間 不斷進行二分,直至只包含乙個值作為葉節點。其他的非葉節點表示線段經過二分過後...

C語言版 農曆演算法

這個只是基本的農曆演算法,另外的節日查詢啊,可以自己做的。到 找乙個萬年曆,改寫成c語言的就可以了。char getdayof systemtime pst const char cdizhi const char cshuxiang const char cdayname const char c...

C語言版 農曆演算法

這個只是基本的農曆演算法,另外的節日查詢啊,可以自己做的。到 找乙個萬年曆,改寫成c語言的就可以了。char getdayof systemtime pst const char cdizhi const char cshuxiang const char cdayname const char c...