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

品牌网站解决方案免费网页在线客服系统

品牌网站解决方案,免费网页在线客服系统,seo快速排名软件易下拉霸屏,商会网站建设冒泡排序&#xff1a; 冒泡排序是一种简单且基础的排序算法&#xff0c;其核心思想是通过多次遍历待排序的数组&#xff0c;比较相邻元素并交换顺序&#xff0c;使较大的元素逐渐“冒泡”到数组的末尾。这种算法因其名字来源于气泡的上升运动而得名。 #include <stdio.h&g…

冒泡排序:

冒泡排序是一种简单且基础的排序算法,其核心思想是通过多次遍历待排序的数组,比较相邻元素并交换顺序,使较大的元素逐渐“冒泡”到数组的末尾。这种算法因其名字来源于气泡的上升运动而得名。 

#include <stdio.h>
void pai(int arr[],int n)
{int i,j,temp;for (i = 0;i < n - 1;i++)   //控制进行次数{for (j = 0;j < n - 1;j++)   //进行排序{if (arr[j] > arr[j+1]){int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}
}
void print(int arr[], int n)
{for (int i = 0;i < n; i++)     //输出arr[]{printf("%d ", arr[i]);//printf("\n");}
}
int main()
{int arr[6] = { 33,44,1,0,44,999 };int n = sizeof(arr) / sizeof(arr[0]);printf("未排序数组: \n");print(arr, n);pai(arr, n);printf("\n");printf("排序后数组: \n");print(arr, n);return 0;}

冒泡排序的基本原理

  1. 比较相邻元素:从数组的第一个元素开始,依次比较相邻的两个元素。如果前一个元素大于后一个元素,则交换它们的位置。
  2. 重复遍历:每一轮遍历结束后,最大的元素会被放置在数组的末尾。因此,下一轮遍历可以减少一次比较,因为最后一个元素已经是最大的。
  3. 终止条件:当某一轮遍历中没有发生任何交换时,说明数组已经完全有序,可以提前结束排序。

上述代码中,外层循环控制排序的轮数,内层循环负责比较和交换。 

代码详解

  1. 外层循环:控制排序的轮数,每一轮将未排序部分的最大值“冒泡”到末尾。
  2. 内层循环:负责比较和交换相邻元素。每一轮内层循环的范围逐渐减少,因为每轮结束后最后一个元素已经是最大的。
  3. 交换操作:使用临时变量 temp 来交换两个元素的位置。

现在的冒泡排序有什莫问题吗?

答案是有的!!

现在的冒泡排序如果遇到已经排序好的数组如:

arr[5]={1,2,3,4,5};

遇到这种的代码 现在的冒泡排序仍然会进行许多次, 进行n-1次。

这样的代码太过于拖沓了,可以进行优化。

优化冒泡排序:

  1. 添加标志位:在某一轮遍历中如果没有发生任何交换,说明数组已经有序,可以提前结束排序。
  2. 减少不必要的比较:在每轮遍历中记录最后一次交换的位置,下一轮从该位置开始比较。

优化后的代码如下:


void pai(int arr[], int n) {int i, j, temp, swapped;for (i = 0; i < n - 1; i++) {swapped = 0;for (j = 0; j < n - i - 1; j++) {if (arr[j] > arr[j + 1]) {temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;swapped = 1;}}// 如果没有发生交换,说明数组已有序if (!swapped) break;}
}

总结

冒泡排序是一种简单直观的排序算法,适合初学者学习和理解排序的基本原理。尽管其效率较低,但在小规模数据或教学场景中仍然具有一定的应用价值。通过优化,可以进一步提高其性能,但其基本思想和实现方式仍然保持不变

http://www.dtcms.com/wzjs/231822.html

相关文章:

  • wordpress 腾讯云cos重庆seo网络推广关键词
  • 门户网站开发建设成本明细模板免费下载网站
  • 郴州竞价网站建设方案重庆百度快照优化
  • 东宁做木耳招工人网站西安百度公司
  • 石家庄网站制作招聘seo百科
  • 九牧全球市场地位seo企业建站系统
  • wordpress 做大型网站吗智能优化网站
  • 怎么给自己的网站做优化八零云自助建站免费建站平台
  • 做网站用虚拟机还是服务器深圳网络推广哪家
  • 公司免费网站注册百度推广
  • 申请域名后怎么做网站宣传推广方式有哪些
  • 日本做头像网站淘宝seo
  • 漳州市建设网站公司软文怎么写
  • 济南网站建设公司 推荐行知科技seo博客优化
  • 网站毕业论文模板长沙百家号seo
  • 武汉做网站的大公司有哪些网络营销特点
  • 拼多多网站怎么建设的公司网络推广服务
  • 江苏省交通厅门户网站建设管理办法seo网站培训优化怎么做
  • 手机网站地址免费发布广告信息平台
  • wordpress 仿站 教程网站推广优化方法
  • 网站框架地图网店推广渠道有哪些
  • 做招商类型的网站白度
  • 完善企业网站建设武汉网站优化公司
  • 余姚做轴承网站新闻头条最新消息今日头条
  • 福建移动网站设计杭州做网站的公司排行
  • 沈阳微信网站建设张掖seo
  • 上海广告网站建设友情链接是免费的吗
  • seo顾问服务 品达优化优化关键词排名外包
  • 阿里巴巴企业网站怎么做湖南省最新疫情
  • 可以做设计的网站广州百度推广客服电话