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

网站建设的费用报价长沙装修公司前十强

网站建设的费用报价,长沙装修公司前十强,做外贸生意最好的网站,天津网站建设公司推荐一,冒泡排序说明冒泡排序是从第一个元素开始和后面一个元素进行判断是否满足左小右大,如果不满足就交换位置,再拿第二个和第三个进行上述操作一直到第n-1和第n个。经过上述的一轮操作就可以把第一个最大值放到最右边,在进行n轮上述…

一,冒泡排序说明

冒泡排序是从第一个元素开始和后面一个元素进行判断是否满足左小右大,如果不满足就交换位置,再拿第二个和第三个进行上述操作一直到第n-1和第n个。

经过上述的一轮操作就可以把第一个最大值放到最右边,在进行n轮上述操作就可完成所有元素的排序

因此冒泡排序的时间复杂度稳定为O(n^2)

二,冒泡排序代码

//
// Created by 27893 on 2025/8/10.
//#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "BubbleSort.h"void BubbleSort(SortTable *table) {for (int i=0;i<table->length;i++) {for (int j=0;j<table->length-i-1;j++) {if (table->data[j].key>table->data[j+1].key) {swap(&table->data[j],&table->data[j+1]);}}}
}void swap(Element*a,Element*b) {Element*temp=malloc(sizeof(Element));memcpy(temp,a,sizeof(Element));memcpy(a,b,sizeof(Element));memcpy(b,temp,sizeof(Element));free(temp);
}

三,冒泡排序的优化

1.第一种

随着我们的交换可能不需要n轮就已经将所有元素排好序了,比如我们在对第一个最大值进行排序时就可以把所有元素排好序,就没必要进行第二轮了,我们就可以用一个变量来记录这轮内循环是否有过交换,若果没有就说明已经排好序了

void BubbleSort(SortTable *table) {for (int i=0;i<table->length;i++) {int isSorted=1;for (int j=0;j<table->length-i-1;j++) {if (table->data[j].key>table->data[j+1].key) {isSorted=0;swap(&table->data[j],&table->data[j+1]);}}if (isSorted) {break;}}
}

2.第二种

如下图假如经过第一轮排序,从65开始后面的元素就已经有序了,那么下轮排序就只需要循环到65为止后面的就不需要比较了

void BubbleSortV3(SortTable *table) {int newIndex=0;do {int n=table->length;for (int i=0;i<n-1;i++) {if (table->data[i].key>table->data[i+1].key) {swap(&table->data[i],&table->data[i+1]);newIndex=i+1;}}n=newIndex;}while (newIndex>0);
}
http://www.dtcms.com/a/552347.html

相关文章:

  • 网站建设策划框架电商运营新手要懂哪些
  • 宁波网站建设服务电话泉州seo用户体验
  • 苏州网站建设2万起网站建设租房网模块
  • 网站建设维护考试长沙近期大型招聘会
  • 51自学网官方网站wordpress设置密码
  • 做户外运动的网站网页设计与制作的实训报告怎样写
  • 学校网站建设答辩投简历网站
  • 做网站的课题背景介绍市场调研报告最佳范文
  • 官方网站下载微博租腾讯服务器做网站行吗
  • 织梦网站怎么做安全措施哪有专业做网站
  • 夸网站做的好怎么夸php网站怎么注入
  • iis5.1 建立网站大学生网站设计作品成品代码
  • 简易广州网站建设临沂做网站系统
  • 松江区做网站的公司设计师公司排名
  • 网站支付链接怎么做郑州招聘网站有哪些
  • 会议网站游戏开发前景
  • 哪个网站可以做头像可信网站查询
  • 图书大厦网站建设报告网站建设公司费用
  • 江西的赣州网站建设创意网页设计模板
  • 网站建设编辑工作总结wordpress未收到验证
  • 专业网站建设好不好wordpress插件2018
  • vue 做网站注册网站账号违法吗
  • 温岭做网站的公司有哪些有了域名自己电脑怎么做网站
  • 自己做网站项目河南建设银行招聘网站
  • 百度网站的网址是什么怎么推广公司的网站
  • 国外网页素材网站网站常用的字段
  • 做网站的策划方案视频网站怎么做外链
  • 优秀的电商设计网站有哪些内容网站后台模板如何使用
  • 做标书要不要做网站陕西建设网官方网站
  • 科技网站模版全网营销推广方案