冒泡程序包括 指针操作和数组操作--数据排序

来源:互联网 发布:手机如何修改表白源码 编辑:程序博客网 时间:2024/06/04 19:47
//此程序已经经过visual C++ 6.0多次验证,如有问题,可留言,我会及时回复,谢谢.
/*************************** // 函数名称:mp_sort_xd// 函数功能:使用冒泡方法对数据进行排序--使用指针的操作// 入口参数:排序数据的首地址 数据长度// 出口参数:无 // 返 回 值:无 //***************************************/void mp_sort_xd(int *point,int num)//冒泡程序--指针操作{int i,j,temp;charF_flag;int *po;po=point;F_flag=0; for(i=0;i<num&&F_flag==0;i++)//F_flag==0的判断,增加此判断可提高效率  { F_flag=1; for(j=0;j<num-i-1;j++,point++) {if(*point>*(point+1))//(n/2)*4{temp=*point;*point=*(point+1);*(point+1)=temp; F_flag=0;}//point=point+1; }point=po;//指向首个元素的首址 }//冒泡程序}//*************************************** // 函数名称:mp_sort1_xd// 函数功能:使用冒泡方法对数据进行排序--使用简单的操作 // 入口参数:排序数据的数组 数据长度//出口参数:无// 返 回 值:无 //***************************************/void mp_sort1_xd(int a[],int num)//数组定义时需要注意是否要定义为全局变量,否则可能出现不然操作不成功,指针不用,局部变量即可{int i,j,temp;charF_flag;F_flag=0; for(i=0;i<num&&F_flag==0;i++) { F_flag=1; for(j=0;j<num-i-1;j++) {if(a[j]>a[j+1])//(n/2)*4{temp=a[j];a[j]=a[j+1];a[j+1]=temp; F_flag=0;} } }//冒泡程序}


原创粉丝点击