当前位置: 首页 > news >正文

河南建筑业城乡建设网站查询东莞网络公司网络推广

河南建筑业城乡建设网站查询,东莞网络公司网络推广,重庆建设网站公司简介,阿里云企业邮箱收费标准贵阳这个地方的天气变化好大呀,前两天晒大太阳,今天就冷的脚抖,简直不要太冷,但是不管怎么样,还是要学习的哟! 冬天来了,春天确实还有一点远! 好了,话不多说,…

贵阳这个地方的天气变化好大呀,前两天晒大太阳,今天就冷的脚抖,简直不要太冷,但是不管怎么样,还是要学习的哟!

冬天来了,春天确实还有一点远!

 好了,话不多说,我们来开始今天的学习。今天我们来讲冒泡排序,什么是冒泡排序呢?

冒泡排序是一种基本的排序算法,其思想是通过比较两个相邻元素的大小,将较大的元素逐渐交换到数组的最末尾。

1. 从数组的第一个元素开始,将其与相邻的元素进行比较。
2. 如果当前元素大于相邻元素,则交换它们的位置,将较大的元素移动到后面。
3. 继续比较与下一个元素,直到达到数组的末尾。
4. 重复以上步骤,每次比较的次数减少一次。
5. 重复执行上述步骤,直到所有元素都按照从小到大的顺序排序。

 那么我们现在来看看整体代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>void BubbleSort(int arr[], int sz)
{for (int i = 0; i < sz-1; i++)//趟数{for (int j = 0; j < sz - 1 - i; j++)//一趟冒泡排序{if (arr[j] > arr[j + 1]){int tmp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = tmp;}}}
}int main()
{int arr[] = { 5,7,9,4,3,6,8,1};//5 7 9 4 3 6 8 1int sz = sizeof(arr) / sizeof(arr[0]);//计算有多少个元素BubbleSort(arr,sz);for (int i = 0; i < sz; i++){printf("%d ", arr[i]);}return 0;
}

看看运行效果:

 那么如果是以 9 1 3 4 5 6 7 8这样排序呢,我们是不是也还要进行那么多次的排序,我们是不是只用一趟排序之后就是我们希望看见的结果了,所以我们来改进一下我们的代码。我们假设flag = 1为最终排好的效果,如果进行交换了,我们就把 flag = 0,表示此时还不是我们想要的效果,还可以定义一个count来看看我们进行了多少次比较。

int count = 0;void BubbleSort(int arr[], int sz)
{for (int i = 0; i < sz; i++)//趟数{//int flag = 1;for (int j = 0; j < sz - 1 - i; j++)//一趟冒泡排序{count++;if (arr[j] > arr[j + 1]){int tmp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = tmp;//flag = 0;}}/*if (flag == 1){break;}*/}
}int main()
{int arr[] = {9,1,3,4,5,6,7,8, };//5 7 9 4 3 6 8 1int sz = sizeof(arr) / sizeof(arr[0]);BubbleSort(arr,sz);for (int i = 0; i < sz; i++){printf("%d ", arr[i]);}printf("%d", count);return 0;
}

我们先把flag摒弃掉,看看总共比较了多少次:

 加上flag的判断后看看:

 可能有一些小伙伴有些疑惑了,为什么count放在比较的外面,而不放在if的里面,不是说比较了才加加吗?其实就是放在这里的,每一次进来都是要进行比较的,假设你上一次达到了你想要的排序,但是下一次进来还是要进行比较呀,看看要不要进行交换,如果不用交换的话,那么flag就不用变成0了,那么就可以执行到后面然后跳出循环!

好了,今天就到此结束咯!

Good night!

http://www.hkea.cn/news/929967/

相关文章:

  • 上海网站建设内容更新网络营销策划目的
  • 重庆市建设信息网站关键词查询网
  • 做哪种网站流量大怎么打广告宣传自己的产品
  • 免费表白网站制作seo网络优化推广
  • 网站建设中可能升级中国科技新闻网
  • 网站制作内容文案网站如何快速被百度收录
  • 淘宝淘宝网页版登录入口免费seo公司
  • 竹溪县县建设局网站短视频营销
  • 好的网站有哪些搜索引擎seo是什么意思
  • 做音乐网站赚钱吗做小程序的公司
  • 坪地网站建设域名流量查询工具
  • 网站建设部署万能推广app
  • 网站的重要性怎么做个网站
  • 做网站的经验百度旗下有哪些app
  • 化工网站开发推广点击器
  • 怎么访问日本竹中建设网站外贸seo推广
  • 惠阳建设局网站引流推广接单
  • 北京通州网站建设公司如何建立公司网站网页
  • 网站换程序301seo优化按天扣费
  • html5 网站自适应长尾关键词挖掘爱站工具
  • 网站设计公司(信科网络)潍坊网站定制模板建站
  • 番禺网站开发报价百度竞价排名软件
  • 做企业网站接单seo网站优化技术
  • 建设网站行业云网络推广理实一体化软件
  • 如何用自己公司网站做邮箱关键字是什么意思
  • 古典网站建设欣赏马鞍山网站seo
  • 商城网站建设报价方案免费建网站软件下载
  • 中国做美国酒店的网站好竞价托管收费标准
  • 网站开发与设计静态网页源代码站长之家app下载
  • 松原做网站app运营推广是干什么