Bubblesort(数组经典冒泡排序)
#include <stdio.h>int main(){int array[5]={21,34,12,34,56};int i,j;for(j=0;j<4;j++)//同样的操作执行四边即可for(i=0;i<4;i++)//每次都从第一元素开始执行一共比较四次{{if(array[i]>array[i+1])//把比较大的数沉下去int temp;temp=array[i];array[i]=array[i+1];array[i+1]=temp;}}for(int i=0;i<5;i++)//把排序好的数组输出{printf("%d",array[i]);}return 0;}
2.轻泡泡上浮
#inlude <stdio.h>int main(){int array[5]={2,5,3,89,72};int i,j;for(i=0;i<4;i++)//双层嵌套循环,四次又四次即可排出所有的较小值{for(j=4;j>0;j--)if(array[i]<array[i-1]);int temp;temp=array[i];array[i]=array[i+1];array[i+1]=temp;}for(int i=0;i<5;i++)//输出模块{printf("第%d个:%d",i,array[i]);}return 0;}
冒泡排序的思路:函数设计模块可分为三部分,第一部分是数据输入
第二部分是冒泡排序的核心步骤(泡泡上浮或者下沉),第三部分是数据的输出。
数据输入:主要利用printf函数和scanf函数,与用户进行交互
排序核心:双层嵌套循环,内层循环完整执行一次将得到一个最大值/最小值,外层循环完整执行一次将得到排序的结果(即有限个最大值或最小值按顺序排列的数组)。
数据输出:利用循环结构,推荐for
for(int i=0;i<5;i++)printf("%d",array[i]);
如果使用while:
int i=0;while(i<5){printf("%d",array[i]);i++;}
可以明显看到代码的量的差别
