C語言 對選擇排序的一點理解

2021-10-23 07:26:57 字數 895 閱讀 2273

題目:在鍵盤上輸入n個整數,將他們按照從大到小的次序排序後輸出。要求採用選擇排序法。

選擇排序的兩種演算法(個人的理解):

第一種-------先找到最大值再交換

#include

/大到小選擇排序 --先找到這些資料裡面的最大值,(用下標更新最大值)

判斷整個最大值是否等於第i個數,不等於就交換–大到小/

int main()

; //定義乙個儲存資料的陣列

int i,j,k,n,temp;

printf(「即將在鍵盤上輸入整數的個數:\n」);

scanf("%d",&n);

printf(「輸入%d個整數:\n」,n);

for(i=0;i內迴圈,從a[i]的後乙個數開始

每個數都要和前乙個最大值比較一次,找到真正的最大值/

}if(k!=i) //如果找到的最大值和i不是同乙個數,就交換

}for(i=0;i第二種-----一邊比較一邊交換

#include

/大到小選擇排序 --邊比較邊交換/

/先用外迴圈固定乙個位置i,然後和內迴圈的a[j]比較,邊比較邊交換/

int main()

;//定義乙個儲存資料的陣列

int i,j,k,n,temp;

printf(「即將在鍵盤上輸入整數的個數:\n」);

scanf("%d",&n);

printf(「輸入%d個整數:\n」,n);

for(i=0;ia[i]) //如果a[j]>a[i]就交換}}

printf(「選擇排序,從大到小:\n」);

for(i=0;i上面就是我對選擇排序的兩種方法的理解啦!歡迎交流!

C語言對const的理解

教學過程中,很多同學對於const這個關鍵字的理解存在很大的誤解。現在總結下對這個關鍵字理解上的誤區,希望在以後的程式設計中,能夠靈活使用const這個關鍵字。1 const修飾的變數是常量還是變數 對於這個問題,很多同學認為const修飾的變數是不能改變,結果就誤認為該變數變成了常量。那麼對於co...

C語言的一點

define tosh assign pin name,port,bit static inline void tosh set name pin static inline void tosh clr name pin 如果在程式中寫了這樣的乙個式子tosh assign pin inc,a,2 ...

C語言 對迴圈的加深理解!

輸入一位整數,1.求出它是幾位數。2.分別輸出出每一位數字。3.按逆序輸出各位數字,eg 原數為123,應輸出321 思路 1.判斷幾位數n時,對該數先除以10,然後判斷除以10以後的數是否為0,如果為0,輸出它是一位數,否則進入迴圈,每次除以10,直到n等於0時,輸出迴圈次數,就算出該數是幾位數!...