




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
項目一
學生成績管理系統(結構化實現)Java程序設計(項目式)在學生成績管理系統中,不僅要對學生成績進行一些簡單的輸入輸出操作,經常要根據需要對學生成績進行一些查找和排序,比如查找不及格學生名單,對學生成績進行排名等。任務分析例1.將數據:3728511364為例,用『冒泡法』進行升序排列。分析:冒泡法是一種形象的說法,較小的數就像氣泡一樣逐漸“上浮”到數組的頂部,而較大的數則“下沉”到數組底部,最后,就完成了排序過程。其思路是:從第一個數開始循環,如果前一個數比后一個數大,則將它們交換,這樣循環結束后,最后一個數就是所有數中最大的數,最后,在前面的n-1(n為數組長度)個數中在進行冒泡循環,直到最后排序完成。相關知識與技術如:原始數據:3728511364
第一輪:2837135164
第二輪:2813375164
第三輪:1328375164
第四輪:1328375164一般來說,需要經過n-1
輪循環才能完成全部的排序。相關知識與技術inta[]={37,28,51,13,64};
inti,j,n,temp;n=a.length;
for(j=1;j<n;j++){//共執行n-1輪
for(i=0;i<n–j;i++){//第j輪
if(a[i]>a[i+1]){//交換a[i]與a[i+1]的值
temp=a[i];
a[i]=a[i+1];a[i+1]=temp;}}}
//打印排序后的結果
for(i=0;i<n;i++){
System.out.print(a[i]+“”);}相關知識與技術例2:從數據:3225786913978638629中找到數據97所在的位置。『用順序查找(線性查找)方法編寫程序』//聲明并初始化數組inta[]={32,25,78,69,13,97,86,38,62,9};intindex=-1,i;//逐個元素與97相比較,找到則退出循環,否則繼續for(i=0;i<a.length;i++){
if(a[i]==97){ index=i; break; }}相關知識與技術if(index==-1){//表示該數不存在
System.out.println(“Thenumber97isnotexisted”);}else{
System.out.println(“Theindexofnumber97is:”+index);}}相關知識與技術例3:將例2的數據進行從小到大排序后,存放在數組a中,用二分查找方法查找數據97。分析:二分查找又叫折半查找。用于二分查找的數據必須是按某種順序排好的數據。假定原來的數據是按從小到大的順序排列,存放在數組中,先將要查找的值與數組的中點元素(下標為數組長度一半的元素)相比:如相等,則找到;如比中點元素小,則要查找的數據值可能在數組的左側,于是可以舍棄右側的元素,在數組的左側繼續查找;如比中點元素大,則舍棄左側元素在右側查找。數組:9132534386269788697相關知識與技術第一步:與中點元素比較,數組長度為10,中點元素為a[5]
數組:9132534386269788697
顯然a[5]=62,97在數組a的右側,于是繼續在右側查找。第二步:在右側的子數組中查找97,右側數組的起始元素下標為6,中點元素下標為(6+9)/2=7,所以中點元素為a[7]
數組a:……69788697由第二步結果得知,97仍然在子數組的右側,繼續在右側a[8]~a[9]子數組中查找,最后得到結果為a[9]=97,終于找到了。相關知識與技術left=0a[5]<97right=9left=6a[7]<97right=9//聲明并初始化數組
inta[]={9,13,25,34,38,62,69,78,86,97};
intindex=-1,left,right,mid;left=0;//目標數組的起始位置下標
right=a.length;//目標數組的終點位置下標
while(left<=right){ mid=(left+right)/2;//中點元素的下標
if(a[mid]==97){//找到
index=mid;break;}elseif(a[mid]<97){//目標數據在右側
left=mid+1;}else{//目標數據在左側
right=mid–1;}}相關知識與技術if(index==-1){//表示該數不存在
System.out.println(“Thenumber97isnotexisted”);}else{
System.out.println(“Theindexofnumber97is:”+index);}相關知識與技術練習:1、將整數序列{3,15,28,11,34,78,95,27,18}首末顛倒過來2、在一個有8個整數(18,25,7,36,13,2,89,63)的數組中找出其中最
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年企業SDGs實踐中的綠色建筑與生態設計研究報告
- 2025年農業生物技術在種業創新中的應用前景與挑戰深度分析
- 2025年農業生物技術在農業種子市場與流通種業創新中的應用與突破分析
- 2025年農業面源污染治理中農業面源污染治理技術與經濟成本分析報告
- 西北農林汽車拖拉機學考試試題(兩套)及答案
- DB64∕T 1648-2019 枸杞加工企業良好生產規范
- 學習動機的心理干預措施與實踐效果
- 教育技術在商業會議與培訓中的高效應用
- 醫療領域的教育數據分析應用
- 四川建筑職業技術學院《酒店康樂管理》2023-2024學年第二學期期末試卷
- 環境心理學永川觀音山公園調研報告
- 報價單模板完整版
- 2023年山東軍轉真題
- 國開電大專科《管理英語1》機考總題庫
- 2023年杭州育才中學小升初語文考試真題卷含標準答案
- 《水產動物營養與飼料》期末考試復習題及參考答案
- SB/T 11067-2013金屬材料倉儲技術與管理規范
- 工業品營銷-七重攻略
- 2023年安徽六安市裕安區城鄉建設投資集團有限公司招聘筆試題庫及答案解析
- LY/T 1529-2020普通膠合板生產綜合能耗
- JJF 1458-2014磁軛式磁粉探傷機校準規范
評論
0/150
提交評論