冒泡排序

来源:互联网 发布:王家卫风格的话知乎 编辑:程序博客网 时间:2024/06/06 19:03
#include"stdio.h"//冒泡排序void bubbleSort(int a[],int len){int temp;int count=0;int inner=0,outer=0;if(NULL==a||0==len)return;for(outer=len-1;outer>=1;outer--){for(inner=0;inner<outer;inner++){if(a[inner]>a[inner+1]){temp=a[inner];a[inner]=a[inner+1];a[inner+1]=temp; }}count++;printf("数据交换次数%d\n",count);}}//改进后的冒泡排序void bubbleSort2(int a[],int len){int temp;int count=0;int inner=0,outer=0;int flag;if(NULL==a||0==len)return;for(outer=len-1;outer>=1&&flag;outer--){flag=0;for(inner=0;inner<outer;inner++){if(a[inner]>a[inner+1]){temp=a[inner];a[inner]=a[inner+1];a[inner+1]=temp;//如果扫一遍没有交换,说明已经排好序if(flag==0)  flag=1; }}count++;printf("数据交换次数%d\n",count);}}void main(){int arr[]={1,5,99,3,6,4,7,88,11,22,8,77};int arr2[]={1,2,4,6,7,88};int i;//冒泡排序printf("冒泡排序后的数组值\n");bubbleSort(arr,sizeof(arr)/sizeof(int));for(i=0;i<sizeof(arr)/sizeof(int);i++){printf("%d \n",arr[i]);}//改进后的冒泡排序printf("改进冒泡排序后的数组值\n");bubbleSort2(arr,sizeof(arr)/sizeof(int));for(i=0;i<sizeof(arr)/sizeof(int);i++){printf("%d \n",arr[i]);}getch();}

0 0
原创粉丝点击