改进后的冒泡排序(单向起泡)

来源:互联网 发布:时时彩计划网站源码 编辑:程序博客网 时间:2024/05/17 03:08
#include <stdio.h>void BubbleSort(int *Array ,int n);void BubbleSort(int *Array ,int n){ int flag=0,i=0;//Array[flag]之后没有发生交换 int a=0,m=0; flag=n-1; while(flag!=0) {  m=0; //此行必不可少  for(i=0;i<flag;i++)  {    if(*(Array+i)>*(Array+i+1))    {       a=*(Array+i);       *(Array+i)=*(Array+1+i);       *(Array+1+i)=a;       m=i;    }  }  flag=m; }}int main(void){    int array[8]={4,2,2,2,3,4,5,6};    int i=0;    printf("待排数组为:\n");    for(i=0;i<8;i++)        printf("%d ",*(array+i));    printf("\n冒泡排序后的数组:\n");    BubbleSort(array,8);    for(i=0;i<8;i++)       printf("%d ",*(array+i));    return 0;}

0 0
原创粉丝点击