選擇排序算法的基本思想就是依次選出數組最小的數放到數組的前面。在C語言中我們可以使用兩個for循環,首先從數組的第二個元素開始往后遍歷,找出最小的數放到第一個位置;再從剩下數組中找出最小的數放到第二個位置。以此類推,直到數組有序。
選擇排序法的實現原理:
先判斷最小的數的下標是不是 0,如果不是則說明最小的數不是第一個元素,則將這個數與第一個元素互換位置,這樣一輪下來最小的那個數就被找到并放到了最左邊。
代碼示例:
使用選擇排序法將一組手動輸入的數據由小到大進行排序,數據分別為 52、36、2、39、56、45、78、92、15、52。
實現代碼:
#include <stdio.h>int main(){ int i,j,t,a[11]; //定義變量及數組為基本整型 printf("請輸入10個數:\n"); for(i=1;i<11;i++) scanf("%d",&a[i]); //從鍵盤中輸入要排序的10個數字 for(i=1;i<=9;i++) for (j=i+1;j<=10;j++) if(a[i]>a[j]) //如果前一個數比后一個數大,則利用中間變量t實現兩值互換 { t=a[i]; a[i]=a[j]; a[j]=t; } printf("排序后的順序是:\n"); for(i=1;i<=10;i++) printf("%5d", a[i]); //輸出排序后的數組 printf("\n"); return 0;}
輸出:
代碼說明:
代碼中使用了兩個 for 循環語句。第一個 for 循環是確定位置的,該位置是存放每次從待排序數列中經選擇和交換后所選出的最小數。第二個 for 循環是實現將確定位置上的數與后面待排序區間中的數進行比較的。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
(資料圖片僅供參考)你們好,最近小活發現有諸多的小伙伴們對于芒果tv彈幕開關怎么突然沒有了,芒果tv彈幕開關不見了這個問題都頗為感興趣的,今天小活為大家梳理了下,一起往下看看吧。1、打開芒果TV。2、打開要觀看的視頻,進入播放界面。3、可以在播放器右下角看到彈幕開關。點擊它關閉彈幕。4、彈幕關閉,設置完成。5、全屏模式下如何關閉彈幕?6、進入全屏模式后,可以在屏幕左下角看到彈幕開關,點擊它關閉彈幕...
中國鐵建老總什么級別?中國鐵建董事長是副部級。省部級副職是指一個公務員級別。中鐵建設集團是央企,于1979年8月在北京市成立,所屬行業是房屋建筑業,主要從事普通貨運、貨物專用運輸等。中國鐵建和中國中鐵有什么區別?中國鐵建股份有限公司成立于2007年,中國鐵建業務涵蓋工程承包、勘察設計咨詢、工業制造、房地產開發、物流與物資貿易及資本運營,已經從以施工承包為主發展成為具有科研、規劃、勘察、設計、施工、...
(資料圖片)關于世界癲癇日是什么節日的知識大家了解嗎?以下就是小編整理的關于世界癲癇日是什么節日的介紹,希望可以給到大家一些參考,一起來了解下吧!世界癲癇日是一個通過全球性活動聯合各地組織加強抗擊癲癇運動,為各地抗癲癇組織提供募捐機會的節日。設立“世界癲癇日”是國際、國內癲癇學界和癲癇病患者及其照護者長期以來的愿望。目標是促進國際和政府層面以及公眾對癲癇病的關注。...