- 相關(guān)推薦
C語(yǔ)言數(shù)組練習(xí):冒泡排序
導(dǎo)語(yǔ):將數(shù)組16 25 9 90 23 降序排序。冒泡排序的基本原理,遍歷和交換,第一輪循環(huán);如果某個(gè)數(shù)字小于后面的數(shù)字,那么就交換。下面來(lái)看看C語(yǔ)言數(shù)組練習(xí):冒泡排序
1 25 16 9 90 23
2 25 16 9 90 23
3 25 16 90 9 23
4 25 16 90 23 9
需要比較多輪,數(shù)組長(zhǎng)度-1輪
每輪比較的次數(shù)(數(shù)組長(zhǎng)度-1)-當(dāng)前的輪數(shù)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | #include <stdio.h> #include <stdlib.h> #define N 5 int main() { int i,j; int temp; int nums[N] = {16,25,9,90,23 }; //外層循環(huán)控制輪數(shù) for (i = 0; i < N - 1; i++) { //內(nèi)層循環(huán)控制每輪比較的次數(shù) for (j = 0; j < N - i-1; j++) //如果當(dāng)前值小于后面一個(gè)數(shù),則交換 { if (nums[j] < nums[j + 1]) { temp = nums[j]; nums[j] = nums[j + 1]; nums[j + 1] = temp; } } } printf("排序后的結(jié)果是:
"); for (i = 0; i < N; i++) { printf("%d ", nums[i]); } for (i = 0; i < N - 1; i++) { //內(nèi)層循環(huán)控制每輪比較的次數(shù) for (j = 0; j < N - i - 1; j++) //如果當(dāng)前值小于后面一個(gè)數(shù),則交換 { if (nums[j] > nums[j + 1]) { temp = nums[j]; nums[j] = nums[j + 1]; nums[j + 1] = temp; } } } printf("排序后的結(jié)果是:
"); for (i = 0; i < N; i++) { printf("%d ", nums[i]); } } </stdlib.h></stdio.h> |
【C語(yǔ)言數(shù)組練習(xí):冒泡排序】相關(guān)文章:
C語(yǔ)言的冒泡排序方法08-22
經(jīng)典c語(yǔ)言冒泡排序法08-08
C語(yǔ)言經(jīng)典冒泡排序法09-24
C語(yǔ)言冒泡排序算法實(shí)例06-15
冒泡排序(C語(yǔ)言實(shí)現(xiàn))08-30
c語(yǔ)言中冒泡排序、插入排序、選擇排序算法比較07-11
c#冒泡排序算法08-15