冒泡排序的原理及使用
- 冒泡排序的原理:对一行无序排列的数,从第一个数开始,依次与后一个数进行比较,若大(小)则与之交换位置,这样经过不停的交换,第一轮下来就能把最大(小)的数排到最右边。在进行上述操作,第二轮就能把第二大(第二小)的数排到倒数第二个位置上......以此类推,经过一轮又一轮的比较,就能把这一行无序排列的数,实现从小到大排序(从大到小排序) 由于这一过程像泡泡一样往外冒,故称之为冒泡排序。
代码实现:
#include<stdio.h> void Bubble_sort(int c[],int size){ int i,j,s; for(i=0;i<size-1;i++){// size-1是因为每一轮都不用与自己比较 for(j=0;j<size-1-i;j++){// size-1-i,是因为每一趟都会少一个比较的数 if(c[j]>c[j+1]){ s=c[j+1]; c[j+1]=c[j]; c[j]=s; } } } } int main() { int arr[10]; printf("输入10个数:") for(int i=0;i<10;i++) { scanf("%d",&arr[i]); } printf("输出排序后的数:") Bubble_sort(arr,10); for(int i=0;i<10;i++) { printf("%d",arr[i]); } return 0; }
-
冒泡函数中两个循环的解释:外层循环表示轮数,内层循环表示每一轮该数与其他数比较的次数
- 改代码实现从小到大排序,若要从大到小,则更改if语句就好了。

浙公网安备 33010602011771号