- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
参数传递.ppt
Bubble Sort : Pseudo Code for i from n to 1 for j from 1 to i-1 if (A[j] A[j+1]) swap(A[j], A[j+1]); int rand ( void ); #include stdlib.h 傳回一個整數亂數,介於0 ~ RAND_MAX之間。 RAND_MAX 是在stdlib.h裡預先定義的常數。 RAND_MAX值會隨著系統而不同,通常是32767。 輸入 / 輸出範例 Please input the length of array: 10 The array length is:10 Before sorting: 41 18467 6334 26500 19169 15724 11478 29358 26962 24464 After sorting: 41 6334 11478 15724 18467 19169 24464 26500 26962 29358 評分標準 可以正確Compile沒有出現Error 60% 程式結果的正確性 20% 註解 10% 程式可讀性 10% 參數傳遞 參數傳遞方式-傳值呼叫 傳值呼叫(call by value) 主程式呼叫function時,傳入function所需的變數,由於實際變數與傳入變數佔用不同記憶體位置,因此無論function內的變數值如何改變,主程式內的變數值依然不變。 example -傳值呼叫 main(){ int x=2 , y=4; add( x , y ); printf( “ x = %d , y = %d , x , y); } add(int a, int b){ a=a+b; b=a; } Memory 2 4 x:0010 y:0014 2 4 a:0030 b:0034 6 6 複製 複製 複製 複製 x = 2 , y = 4 參數傳遞方式-傳址呼叫 傳址呼叫(call by reference) 呼叫function時,傳入function所需的變數的記憶體位址,並透過記憶體位置來存取變數,此時若變數值有改變,主程式內的變數值也一起改變。 example -傳址呼叫 main(){ int x=2 , y=4; add( x , y ); printf( “ x = %d , y = %d , x , y); } add(int *a, int *b){ *a=*a+*b; *b=*a; } Memory 2 4 x:0010 y:0014 0010 0014 a:0030 b:0034 6 6 複製 複製 複製 複製 x = 6 , y = 6 x = 0010 , y = 0014 練習:Bubble Sort (泡沫排序法) Bubble Sort 泡沫排序法 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。 針對所有的元素重複以上的步驟,除了最後一個。 持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。 練習:Bubble Sort (泡沫排序法) 7 1 5 3 9 1 7 5 3 9 1 5 7 3 9 1 5 3 7 9 1 5 3 7 9 1.比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。 2.對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。 練習:Bubble Sort (泡沫排序法) 1 5 3 7 9 1 5 3 7 9 1 3 5 7 9 1 3 5 7 9 3.針對所有的元素重複以上的步驟,除了最後一個。 練習:Bubble Sort (泡沫排序法) 1 3 5 7 9 1 3 5 7 9 1 3 5 7 9 1 3 5 7 9 4. 持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。 程式需求:Bubble Sort 輸入:一個數字 n (0-10000)。 利用rand()函式產生出n個亂數。 #include stdlib.h 印出排序前的亂數排列。 使用Bubble Sort進行排序。 Bubble Sort需為一獨立的function。 Swap(交換兩個元素)需為一獨立的function;並利用call by reference技巧。 印出排序後的亂數排列。
您可能关注的文档
最近下载
- 理想 RISO 9050 7050 3050 7010 3010 闪彩印王中文技术维修手册 后面可以参考理想闪彩印王 EX7200 EX9050 EX9000 EX7250 系列中文维修手册 .pdf VIP
- 表面波波速测试.ppt VIP
- 食品安全法全文.docx VIP
- 监狱日用品供应站项目 投标方案(技术方案).docx
- 2025年池州市住房和城乡建设系统架子工职业技能竞赛暨省级劳动和职业技能竞赛(架子工)选拔赛理论知识题库及答案(360题).docx VIP
- 人保理赔员车险查勘定损考试题库(答案).pdf VIP
- 普外科案例分析病例分析题与答案.docx VIP
- 外研九年级英语上册Module-4-Unit1-课件(共29张PPT).ppt VIP
- 随机事件的概率.docx
- 《教育心理学》课件——第七章 学习策略.pptx VIP
文档评论(0)