當前位置:才華齋>計算機>C語言>

C語言陣列練習:氣泡排序

C語言 閱讀(2.26W)

導語:將陣列16 25 9 90 23 降序排序。氣泡排序基本原理,遍歷和交換,第一輪迴圈;如果某個數字小於後面的數字,那麼就交換。下面來看看C語言陣列練習:氣泡排序

C語言陣列練習:氣泡排序

1 25 16 9 90 23

2 25 16 9 90 23

3 25 16 90 9 23

4 25 16 90 23 9

需要比較多輪,陣列長度-1輪

每輪比較的次數(陣列長度-1)-當前的`輪數

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950#include <stdio.h> #include <stdlib.h> #define N 5 int main() { int i,j; int temp; int nums[N] = {16,25,9,90,23 }; //外層迴圈控制輪數 for (i = 0; i < N - 1; i++) { //內層迴圈控制每輪比較的次數 for (j = 0; j < N - i-1; j++) //如果當前值小於後面一個數,則交換 { if (nums[j] < nums[j + 1]) { temp = nums[j]; nums[j] = nums[j + 1]; nums[j + 1] = temp; } } } printf("排序後的結果是:"); for (i = 0; i < N; i++) { printf("%d ", nums[i]); } for (i = 0; i < N - 1; i++) { //內層迴圈控制每輪比較的次數 for (j = 0; j < N - i - 1; j++) //如果當前值小於後面一個數,則交換 { if (nums[j] > nums[j + 1]) { temp = nums[j]; nums[j] = nums[j + 1]; nums[j + 1] = temp; } } } printf("排序後的結果是:"); for (i = 0; i < N; i++) { printf("%d ", nums[i]); } } </stdlib.h></stdio.h>