




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
算法實現動畫演示范俊選擇排序算法設計思路(以數組a[n]為例):將a[0]依次與后面的元素比較大小,如果a[0]的值大于其他元素的值,則交換。比較完一輪后,a[0]中存放的時所有元素值的最小值;a[0]不動,將a[1]依次與后面的元素比較大小,如果a[1]的值大于后面元素的值,則交換。比較完該論后,a[1]中存放的是除a[0]以外的最小值;依此類推,最后比較a[n-2]和a[n-1]的值,a[n-2]中存放兩個數中的小值,則a[n-1]存放的就是整個數組的最大值。選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}printf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}注意:該PPT采用單步運行的方式演示了選擇排序法的實現過程,并實時顯示各變量的值。選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;23957s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n
j
printf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}定義變量,賦初值i選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;23957s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n0i
jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}i=0時,表示數組第1個元素與后面的元素比較,將比較的較小數存入第1個元素中,比較的最終結果是數組中最小數存入數組第1個元素。選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;23957s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n0i1jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=1時,比較變量s[0]和s[1]中值的大小,將較小數存入s[0]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;23957s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n0i1jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=1時,比較變量s[0]和s[1]中值的大小,將較小數存入s[0]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;23957s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n0i2jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=2時,比較變量s[0]和s[2]中值的大小,將較小數存入s[0]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;23957s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n0i2jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=2時,比較變量s[0]和s[2]中值的大小,將較小數存入s[0]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;23957s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n0i3jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=3時,比較變量s[0]和s[3]中值的大小,將較小數存入s[0]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;23957s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n0i3jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=3時,比較變量s[0]和s[3]中值的大小,將較小數存入s[0]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;23957s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n0i4jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=4時,比較變量s[0]和s[4]中值的大小,將較小數存入s[0]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;23957s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n0i4jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=4時,比較變量s[0]和s[4]中值的大小,將較小數存入s[0]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;23957s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n0i5jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=5時,條件5<5為假,循環結束。數組最小值存入s[0]。選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;23957s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n1i5jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}i=1時,表示數組第2個元素與后面的元素比較,將比較的較小數存入第2個元素中,比較的最終結果是參與比較的元素的最小數存入數組第2個元素。選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;23957s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n1i2jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=2時,比較變量s[1]和s[2]中值的大小,將較小數存入s[1]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;23957s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n1i2jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=2時,比較變量s[1]和s[2]中值的大小,將較小數存入s[1]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;29357s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n1i2jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=2時,比較變量s[1]和s[2]中值的大小,將較小數存入s[1]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;29357s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n1i3jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=3時,比較變量s[1]和s[3]中值的大小,將較小數存入s[1]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;29357s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n1i3jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=3時,比較變量s[1]和s[3]中值的大小,將較小數存入s[1]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;29357s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n1i4jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=4時,比較變量s[1]和s[4]中值的大小,將較小數存入s[1]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;29357s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n1i4jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=4時,比較變量s[1]和s[4]中值的大小,將較小數存入s[1]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;29357s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n1i5jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=5時,條件5<5為假,循環結束。數組剩余元素的最小值存入s[1]。i=2時,表示數組第3個元素與后面的元素比較,將比較的較小數存入第3個元素中,比較的最終結果是參與比較的元素的最小數存入數組第3個元素。選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;29357s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n2i5jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;29357s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n2i3jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=3時,比較變量s[2]和s[3]中值的大小,將較小數存入s[2]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;29357s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n2i3jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=3時,比較變量s[2]和s[3]中值的大小,將較小數存入s[2]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;27359s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n2i3jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=3時,比較變量s[2]和s[3]中值的大小,將較小數存入s[2]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;27359s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n2i4jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=3時,比較變量s[2]和s[3]中值的大小,將較小數存入s[2]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;27359s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n2i4jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=3時,比較變量s[2]和s[3]中值的大小,將較小數存入s[2]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;25379s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n2i4jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=3時,比較變量s[2]和s[3]中值的大小,將較小數存入s[2]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;25379s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n2i5jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=4時,比較變量s[2]和s[4]中值的大小,將較小數存入s[2]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;25379s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n3i5jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}i=3時,表示數組第4個元素與后面的元素比較,將比較的較小數存入第4個元素中,比較的最終結果是參與比較的元素的最小數存入數組第4個元素。選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;25379s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n3i4jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=4時,比較變量s[3]和s[4]中值的大小,將較小數存入s[3]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={2,9,3,7,5},n=5,i,j,t;25379s[0]s[1]s[2]s[3]s[4]for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(s[i]>s[j])
{t=s[i];s[i]=s[j];s[j]=t;}5n3i4jprintf(“%d%d%d%d%d\n”,s[0],
s[1],s[2],s[3],s[4]);}j=4時,比較變量s[3]和s[4]中值的大小,將較小數存入s[3]選擇法演示(升序)程序段:#include<stdio.h>main(){ints[10]={
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年環境科學綜合素質考試題及答案
- it工程師面試題簡答題及答案
- 2025年物流管理與供應鏈考試試題及答案
- 素質能力測試題庫及答案
- java面試題及答案練習軟件
- 2025年建筑工程管理相關知識考試試題及答案
- 軟件設計師考試時間管理試題及答案
- 軟件設計師考試學習資源與試題答案
- 項目管理師的跨部門協作技巧試題及答案
- 西方政治參與模式的革新試題及答案
- 2024延緩衰老藥物干預研究中國老年醫學專家共識(完整版)
- BODAS編程培訓課件
- 2024年全國高考體育單招考試語文試卷試題(含答案詳解)
- 有關教師職業病預防的職業病
- 格調:社會等級與生活品味
- 動火作業審批表
- Excel函數公式練習
- 項目管理人員三級安全教育記錄表
- 建筑工程資料管理 第3版 習題答案 王輝 單元6
- 小兒麻醉指南課件
- 內部待崗人員登記審批表
評論
0/150
提交評論