排序二之冒泡排序

来源:互联网 发布:我的世界编程网站 编辑:程序博客网 时间:2024/05/01 06:07

冒泡排序通过多次比较和交换来实现排序:

1:对数组的各数据,依次比较相邻的两个元素的大小;

2:如果前面的数据大于后面的数据,就交换这两个数据经过第一轮多次比较排序后,便可把最小的数据排好。

3:然后再用同样的方法把剩下的数据组个进行比较,最后便可按照从小到大的顺序排好数组中各数据的顺序。

#include<stdio.h>#include<stdlib.h>#include<time.h>#define SIZE 10int i,j;void BubbleSort(int *a,int len){    int k,temp;    for(i=0;i<len-1;i++)    {        for(j=len-1;j>i;j--)        {            if(a[j-1]>a[j])            {                temp=a[j-1];                a[j-1]=a[j];                a[j]=temp;            }        }    }}int main(){    int shuzu[SIZE];    srand(time(NULL));    for(i=0;i<SIZE;i++)    {        shuzu[i]=rand()/1000+100;    }    printf("排序前的数组为:\n");    for(i=0;i<SIZE;i++)        printf("%d ",shuzu[i]);    printf("\n");    BubbleSort(shuzu,SIZE);    printf("排序后的数组为:\n");    for(i=0;i<SIZE;i++)      printf("%d ",shuzu[i]);      printf("\n");      return 0;}

0 0
原创粉丝点击