编程点滴:冒泡排序.doc
上传人:yy****24 上传时间:2024-09-10 格式:DOC 页数:2 大小:17KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

编程点滴:冒泡排序.doc

编程点滴:冒泡排序.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

冒泡排序的时间复杂度为O(n2)。这里设置一个标志,若一次排序未发现数据交换,则说明已排序完成。程序如下,冒泡排序函数<bubble.c>,测试程序<test.c>。<bubble.c>/****************************************Name:bubble.c*Description:实现冒泡排序*Author&Date:JoshuaChan2011/11/11**************************************/#include<stdbool.h>voidbubble_sort(int*array,intsize){inti,j;inttmp;boolflag;/*设置标志,一次排序未发现数据交换,则结束*/for(i=size-1;i>=0;i--){flag=true;for(j=0;j!=i;j++){if(array[j]>array[j+1]){tmp=array[j];array[j]=array[j+1];array[j+1]=tmp;flag=false;}}if(flag)break;}}<test.c>/****************************************Name:test.c*Description:排序测试程序*Author&Date:JoshuaChan2011/11/11**************************************/#include<stdio.h>voidprint_array(int*array,intsize);voidinsertion_sort(int*array,intsize);voidbubble_sort(int*array,intsize);voidselection_sort(int*array,intsize);intn[9]={6,9,5,2,8,4,1,3,7};intmain(void){printf("Theoriginalarrayis:");print_array(n,9);//selection_sort(n,9);bubble_sort(n,9);//insertion_sort(n,9);printf("Thesortedarrayis:");print_array(n,9);return0;}voidprint_array(int*array,intsize){inti=0;while(i<size)printf("%d,",array[i++]);putchar('\n');}