双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

修改错误让程序实现冒泡功能,利用flag标志位减少循环次数

m0_56926947 m0_56926947 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#include<iostream>
#include<iomanip>
using namespace std;
const int N=6;
void bubble_sort(int unsorted[],int n )//排序
{
int flag=0,m=0;
for (int i = 0; i <n-1; i++)
{
for (int j = 0; j < n-1-i; j++)
{
flag=0;
if (unsorted[j] > unsorted[j+1])
{
int temp = unsorted[j+1];
unsorted[j+1] = unsorted[j];
unsorted[j]=temp;
flag=1;
m++;
}
}
if(!flag) break;
}
cout<<"实际进行了"<<m<<"轮的相邻两个元素的比较交换"<<endl;
cout<<"增加flag标志位可减少"<<n-1-m<<"轮循环"<<endl;
}
void display(int x[],int n)
{
for (int i = 0; i <n; i++)
cout<<setw(5)<<x[i];
}
int main( )
{
int x[N] ;
for(int i=0;i<N;i++)
cin>>x[i];
cout<<"排序前的数据:"<<endl;
display(x,N);
cout<<endl;
bubble_sort(x,N);
cout<<"排序后的序列:"<<endl;
display(x,N);
cout<<endl;
return 0;
}
那个flag咋起作用的啊?
[code=c][code=c][code=c]
[/code][/code][/code]
...全文

相关推荐

java利用冒泡排序对数组进行排序

主要介绍了java利用冒泡排序对数组进行排序的方法,实例分析了冒泡排序的概念与java实现方法,以及java操作数组的相关技巧,需要的朋友可以参考下

weixin_38674616

C语言排序算法之冒泡排序实现方法【改进版】

主要介绍了C语言排序算法之冒泡排序实现方法,结合具体实例形式分析了C语言实现的基本冒泡排序实现方法及增设flag标志位的改进型算法,需要的朋友可以参考下

weixin_38720756

python-冒泡排序算法.docx

python 冒泡排序算法 Python 冒泡排序算法 冒泡排序算法是一种简单的排序算法,它的基本思想是通过不断比较相邻的元素,将较大的元素向后移动,较小的元素向前移动,从而实现排序的目的。冒泡排序算法的时间复杂度为 O(n^2),因此在处理大量数据时,效率较低。 Python 冒泡排序算法的实现 下面是 Python 冒泡排序算法的实现代码: ```python def bubble_sort(arr): n = len(arr) for i in range(n): for j in range(0, n-i-1): if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] ``` python-冒泡排序算法全文共3页,当前为第1页。 在这个代码中,我们定义了一个名为 bubble_sort 的函数,它接受一个列表作为参数。在函数内部,我们使用两个嵌套的循环来实现冒泡排序算法。外层循环用于控制排序的轮数,内层循环用于比较相邻的元素并进行交换。 python-冒泡排序算法全文共3页,当前为第1页。 在内层循环中,我们使用了一个

是空空呀

冒泡排序原理和JAVA实现

冒泡排序原理和JAVA实现,冒泡排序原理和JAVA实现

A2424259824

冒泡排序算法及matlab代码实现

本程序通过使用标志变量flag来标志在每一趟排序中是否发生了交换,若某趟排序中一次交换都没有发生则说明此时数组已经为有序(正序),应提前终止算法(跳出循环).若不使用这样的标志变量来控制循环往往会增加不必要的计算量.

快乐孩童
评论 3
收藏 已收藏
分享
返回顶部
m0_56926947
C++ 语言 65,214 成员 250,514 内容