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

十年专业网站建设中国最大的家装网站

十年专业网站建设,中国最大的家装网站,自媒体平台快看点注册下载,网页版梦幻西游全新联动一、思想 冒泡排序的基本思想是利用两两比较相邻记录的方式,通过一系列的比较和交换操作,使得较大或较小的元素逐渐移动到数列的一端。在每一轮的排序过程中,都会从数列的起始位置开始,对相邻的元素进行比较,如果它们…
一、思想

冒泡排序的基本思想是利用两两比较相邻记录的方式,通过一系列的比较和交换操作,使得较大或较小的元素逐渐移动到数列的一端。在每一轮的排序过程中,都会从数列的起始位置开始,对相邻的元素进行比较,如果它们的顺序不符合要求(例如,前一个元素大于后一个元素),则交换它们的位置。这样,每轮遍历后,至少会有一个元素被移动到其最终位置。重复这个过程,直到没有任何一对元素需要交换位置,即整个数组变为有序。

冒泡排序的过程可以形象地比喻为水中的气泡上升过程,较小的元素逐渐“冒”到数列的顶端,而较大的元素则沉到底部。这个过程就像是在水中的气泡一样,不断向上冒出,直到所有的气泡都排好序。

冒泡排序的时间复杂度为O(n^2),这使得它在处理大规模数据时效率不高。尽管如此,由于其实现简单,对于小规模数据集或者基本有序的数组,冒泡排序仍然是一个不错的选择。

二、图解

i指针控制次数,j指针每次遍历时进行两两比较,j每遍历一遍都会将一个最大的数排好序

依次重复上述步骤,直到j遍历完n-1遍。如果一个数组本来就是有序或者经过小于n-1次就已经排好了序,那么j指针后续的遍历就是徒劳,所以我们可以根据j指针在遍历过程中是否有交换进行判断,如果没有交换说明已经排好序,这个时候就可直接返回

三、代码实现
void bubble_sort(vector<int>& arr) {for (int i = 0; i < arr.size(); i++) {bool f = false;for (int j = 0; j < arr.size() - i - 1; j++) {if (arr[j] > arr[j + 1]) {swap(arr[j], arr[j + 1]);f = true;}}if (!f) return;}
}
    public static void bubbleSort(int[] arr) {for (int i = 0; i < arr.length; i++) {boolean f = true;for (int j = 0; j < arr.length - i - 1; j++) {if (arr[j] > arr[j + 1]) {f = false;swap(arr, j, j + 1);}}if (f) {break;}}}
http://www.yayakq.cn/news/46545/

相关文章:

  • 南宁网站建设制作定制唐山制作网站的公司
  • 赤峰网站策划移动网站技术
  • 网站前台做哪些工作公司想为一个产品做多个网站
  • wordpress mv网站模板做网站什么是三网合一
  • 视频变成网站怎么做理财产品网站开发文档
  • 美橙极速建站系统厦门关键词优化网站
  • 电子商务网站建站目的合肥知名网站制作
  • wordpress 全站搜索网站托管服务协议
  • 漯河网站建设茂睿科技饶阳网站建设
  • 教学方面网站建设代理公司注册济南
  • 建设工程安全员教育网站wordpress 两个主题
  • 手机网站和pc网站杭州网站建设费用多少钱
  • asp网站免费完整源码seo站内优化教程
  • 重庆网站设计案例易语言网站怎么做
  • 网站建设 补充协议网站程序开发后怎么上线
  • 漯河公司做网站程序员自己做网站赚钱
  • 学校网站建设开发方案网站制作的
  • 做网站制作赚钱吗金点子招聘信息莱芜信息港
  • 网站开通微信支付收费wordpress json 插件
  • 个人业余做网站怎么弄外贸网站推广平台排名前十名
  • 哪个网站可以做网页网站建设内容方法
  • seo站长平台wordpress微信支付开发
  • 包头做网站企业建设租房子的网站
  • 长沙制作网站软件网站设计开发
  • 个人合法网站怎么做在线制作书封网站
  • 网站开发实施经费预算古典网站织梦模板
  • 海外购物网站大全手机微网站建设
  • wordpress技术教程 pdf网站的后续优化方案
  • 公司要我做网站_没有公司的材料是不是不可以做网站建设考试多选题
  • 线上投票怎么做网站栏目设计优化方案