冒泡的中心思想就是比较和交换,一般可以用两层循环来实现,没有必要加上结束条件,当循环结束的时候自动回跳出。
当然,冒泡排序会遇到这样一个问题,就是一个序列已经是有序的了,这时就可以加上结束条件,来避免不必要的比较(当然依次进行比较也是可以的,只是每次比较后都没有交换的必要了),而结束的条件就是检测某一趟比较里有没有进行交换,如果没有进行交换就直接跳出循环。
下面是具体的程序:
void bubblesort(int a[],int n)
{
int i,j
for(i=0i<n-1i++) //执行n-1趟
{
for(j=0j<n-ij++)
{
if(a[j]>a[j+1])
swap(a[j],a[j+1])
}
}
}
还有一种优化的算法,就是加上了结束条件,这种方法对于有序序列的性能将大大提升:
void bubblesort(int a[],int n)
{
int i,j,last
i=n-1
while(i>0)
{
last=0
for(j=0j<ij++)
{
if(a[j+1]<a[j])
{
swap(a[j],a[j+1])
last=j
}
}
i=last
}
}
可查看应用闪退排查步骤:
步骤1、确认软件信息
非应用商店下载:请您前往应用商店下载安装软件,或者更换其他网址下载安装软件,观察是否恢复使用。
出现频率不高:可能是软件运行不稳定引起,建议您将系统更新到最新版本使用观察。
步骤2、升级系统版本
系统新版本提升了兼容性和稳定性,优化了性能,请您进入设置--系统升级,查看系统版本信息。如果不是最新版本,建议您升级体验。
步骤3、清除软件数据
如果软件自身数据出现异常会影响到软件的使用,建议您清除软件数据后使用查看, *** 作前请您提前备份软件的数据。清除软件数据的 *** 作方法:进入设置/更多设置--应用与权限--应用管理--右上角三点--显示系统程序-找到对应软件--存储--清除数据。
步骤4、卸载重装软件
如果软件运行过程中缓存的文件出现异常,可能影响到软件的使用,建议您卸载重装软件,查看是否恢复使用。 *** 作前请您提前备份软件的数据。
步骤5、可进入vivo官网/vivo商城APP--我的--在线客服或者vivo官网网页版--下滑底部--在线客服--输入人工客服进入咨询了解。
冒泡排序算法有两种,一种是从大到小排,另一种是从小到大排。
冒泡排序依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。
冒泡排序最核心的思想就是相邻的两个元素相比较,符合冒泡的才冒泡,重复多次执行,待最后没有需要冒泡的元素时才停止执行,表示排序已经完成。
冒泡排序也是一种稳定排序算法。因为冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,是不会再交换的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改变。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)