**for迴圈**
**「+=」的****
例:寫程式實現乙個函式printn,使得傳入乙個正整數為n的引數後,能順序列印從1到n的全部正整數
——迴圈實現
#includevoid printn(int n)//printn的乙個迴圈函式
}int main()
——遞迴實現
#includevoid printn(int n)
return;
}int main()
int i;例:寫程式計算給定多項式在給定點x處的值for(i=0; i<3; i++) 強調內容
// i=0是初始化部分;i<3是迴圈判斷條件部分(當滿足此條件時才進入執行for迴圈中的語句);i++是執行完迴圈體語句後的操作
// 上面的for語句就是控制輸出3次helloworld
a+=b等效於 a=a+b //將b的值取出再取出c的值,相加然後賦給b
a-=b 等效於 a=a-b
a*=b 等效於 a=a*b
pjz/=n 等效於 pjz=pjz/n
a%=b等效於 a=a%b
——直接地表達方式
double f1(int n,doube a,double x)
——將式子轉換為如下的表達方式
double f2(int n; double a;double x)
clock():捕捉從程式開始執行到clock()被呼叫時所耗費的時間,這個時間單位是clock tick,即「時鐘打點」。常數clk_tck(或clocks_per_sec):機器時鐘每秒所走的時鐘打點數。
#include #include clock_t start,stop;
/*clock_t是clock()函式返回的變數型別*/
double duration;
/*記錄被測函式執行時間,以秒為單位*/
int main ()
例:寫程式計算給定多項式
#include#include#include/*因為pow函式*/
clock_t start,stop;
double duration;
#define maxn le7/*多項式最大項數,即多項式階數+1*//*被測函式最大重複呼叫次數*/
double f1(int n,double a,double x);
double f2(int n,double a,double x);
int main()
double f2(int n,double a,double x)
int main()
{ int i;
double a[maxn];/*儲存多項式的係數*/
所以到底什麼是資料結構??
抽象資料型別
只描述資料物件集合相關操作集「是什麼」,並不涉及「如何做到」的問題
《資料結構》 陳越Mooc
第一章 基本概念 1.1什麼是資料結構 解決問題方法的效率跟資料的組織方式 空間的利用效率 演算法的巧妙程度有關。資料結構 資料物件在計算機中的組織方式。1 邏輯結構 個人存放資料的方式,如線性結構,樹狀結構 2 物理儲存結構 資料物件在機器中的放法 演算法 資料物件必定與加在其上的操作相關聯,這些...
浙大 資料結構 陳越 第一講 基本概念
資料結構和演算法 例子1.書架擺書 總結 當問乙個資料怎麼組織的時候,其實跟這個資料的規模有關係 不一樣規模的問題,處理起來的難度不一樣,解決方法的效率,跟資料的組織方式有。關 例子2.寫乙個函式,輸入正整數n,順序列印1 n的全部正整數。第一種方法for迴圈 第二種遞迴 總結 雖然遞迴簡潔,但是遞...
MOOC 資料結構 第一周
1 有以下用c c 語言描述的演算法,說明其功能 void fun double y,double x,int n 解 計算x的n次方。2 乙個演算法的空間複雜度是o 1 那麼執行該演算法時不需要任何空間,這個說法正確嗎?為什麼?解 錯誤。若乙個演算法的空間複雜度為o 1 則稱此演算法為原地工作或就...