冒泡排序方法是把大的元素向上移(气泡的上浮),也可以把小的元素向下移(气泡的下沉)。请给出上浮和下沉过程交替的冒泡排序算法。

admin2019-08-15  41

问题 冒泡排序方法是把大的元素向上移(气泡的上浮),也可以把小的元素向下移(气泡的下沉)。请给出上浮和下沉过程交替的冒泡排序算法。

选项

答案 void BubbleSort2(int a[],int n){ //相邻两趟向相反方向起泡的冒泡排序算法 int change=l;low=0;high=n一1; //冒泡的上下界 while(low<high&&change){ change=0; //交换标志 for(i=low;i<high;i++) //从上向下起泡 if(a[i]>a[i+1]){a[i]←→a[i+1];change=1;} //有交换,修改标志change high一一: //修改上界 for(i=high;i>low;i一一) //从下向上起泡 if(a[i]<a[i+1]{a[i]←→a[i一1];change:=1;} low++; //修改下界 } } 提示:此题考查的知识点是双向冒泡算法。题目中“向上移”理解为向序列的右端,而“向下移”按向序列的左端来处理。

解析
转载请注明原文地址:https://kaotiyun.com/show/JKCi777K
0

最新回复(0)