C语言数组练习:冒泡排序

导语:将数组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)-当前的`轮数

important; position: static !important; padding: 0px !important; line-height: 1.1em !important; outline: invert none 0px !important; min-height: auto !important; width: auto !important; bottom: auto !important; float: none !important; height: auto !important; font-size: 1em !important; vertical-align: baseline !important; overflow: visible !important; right: auto !important; top: auto !important; left: auto !important; background-image: none; background-attachment: scroll; background-size: initial; background-origin: initial; background-clip: initial; background-position: 0% 0%; background-repeat: repeat;" class="firstRow">
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>