c语言入门中冒泡排序的例题,选择排序和冒泡排序例题解析(c语言)
排序算法排序算法 1、簡(jiǎn)單選擇排序簡(jiǎn)單選擇排序 假設(shè)有 n 個(gè)數(shù),作簡(jiǎn)單選擇排序簡(jiǎn)單選擇排序,按升序排列: 先通過(guò) n-1 次比較,從 n 個(gè)值中找出最小值,將它與第一個(gè)值交換。 再通過(guò) n-2 次比較,從剩余的 n-1 個(gè)值中找出(這剩余的 n-1 個(gè)值中的)最小值,將它與第二個(gè)值交換。 重復(fù)上述操作,共進(jìn)行 n-1 趟后,排序完成。 具體描述為: 第 1 趟:在第 1 n 個(gè)數(shù)中找出最小值,與第 1 個(gè)數(shù)交換,前 1 個(gè)數(shù)排好。 第 2 趟:在第 2 n 個(gè)數(shù)中找出最小值,與第 2 個(gè)數(shù)交換,前 2 個(gè)數(shù)排好。 第 n-1 趟:在第 n-1 n 個(gè)數(shù)中找出最小值,與第 n-1 個(gè)數(shù)交換,前 n-1 個(gè)數(shù)排好。 例,隨機(jī)產(chǎn)生并顯示 20 個(gè) 10100 之間的整數(shù),然后用選擇排序選擇排序,并顯示排序后的結(jié)果。 /* Selection Sort by lyj */ #include #include #include #define n 20 int main() int i, j, minIndex, tmp; int an; srand(time(0); for(i=0; i #include #include #define n 20 int main() int i, j, flag, tmp; int an; srand(time(0); for(i=0; i aj+1) tmp = aj; aj = aj+1; aj+1 = tmp; flag = 0; /* 一旦發(fā)生交換,就說(shuō)明本趟無(wú)序一旦發(fā)生交換,就說(shuō)明本趟無(wú)序 */ if(flag) break; /* 若本趟兩兩有序,則可以提前結(jié)束若本趟兩兩有序,則可以提前結(jié)束*/ printf(“nn 選擇法排序之后的結(jié)果為:選擇法排序之后的結(jié)果為:nn“); for(i=0; in; i+) printf(“%d “, ai); return 0; 。
《選擇排序和冒泡排序例題解析(c語(yǔ)言)》由會(huì)員luoxia****01802分享,可在線閱讀,更多相關(guān)《選擇排序和冒泡排序例題解析(c語(yǔ)言)》請(qǐng)?jiān)诮痄z頭文庫(kù)上搜索。
總結(jié)
以上是生活随笔為你收集整理的c语言入门中冒泡排序的例题,选择排序和冒泡排序例题解析(c语言)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c51语言的设计步骤,第3章节单片机c5
- 下一篇: 二值图像连通 C语言,二值图像统计连通区