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

做互动电影的网站长沙建网站理

做互动电影的网站,长沙建网站理,网站建设维护专员岗位说明,做网站卖游戏装备目录 1.冒泡排序的思想 2.冒泡排序的实现 3.冒泡排序的总结 1.冒泡排序的思想 冒泡排序的思想就是在待排序序列中依次比较相邻两个元素,将大的or小的元素往后挪,每一趟都能保证将至少一个元素挪动到正确的位置,然后在待排序序列中重复该过…

目录

1.冒泡排序的思想

2.冒泡排序的实现

3.冒泡排序的总结


1.冒泡排序的思想

冒泡排序的思想就是在待排序序列中依次比较相邻两个元素将大的or小的元素往后挪,每一趟都能保证将至少一个元素挪动到正确的位置,然后在待排序序列中重复该过程

2.冒泡排序的实现

代码如下:

void BubbleSort(int* a, int n)
{for (int j = 0; j < n; j++)  //枚举结束位置和最后一个元素位置的差值 {for (int i = 1; i < n-j; i++) //依次枚举相邻的两个元素 {if (a[i - 1] > a[i]){swap(&a[i - 1], &a[i]);}}}
}

可以看出,冒泡排序十分的暴力,枚举的次数在最好和最坏情况下都是一个等差数列,但是,有些比较是没有必要的。比如:当某一趟排序中没有发生交换的时候,说明序列有序了,不需要再比较了,所以我们可以对代码进行优化。

优化之后的代码如下:

  • 我们可以增加一个标记位,标记是否发生了交换。
#include <stdio.h>void swap(int* p1, int *p2)
{int t = *p1;*p1 = *p2;*p2 = t;
}void BubbleSort(int* a, int n)
{for (int j = 0; j < n; j++)  //枚举结束位置和最后一个元素位置的差值 {int flag = 0;for (int i = 1; i < n-j; i++) //依次枚举相邻的两个元素 {if (a[i - 1] > a[i]){swap(&a[i - 1], &a[i]);flag = 1;}}if (flag == 0){break;}}
}int main()
{int nums[] = {5,4,2,6,3,1,8,9,7};BubbleSort(nums, 10);int i = 0;while(i < sizeof(nums)/sizeof(int)){printf("%d ",nums[i]);i++;}return 0;
}

3.冒泡排序的总结

  • 时间复杂度:O(N^2)。
  • 空间复杂度:O(1)。
  • 稳定性:稳定 。
http://www.yayakq.cn/news/486535/

相关文章:

  • 跨境电商那个网站做饰品比较好涡阳做网站
  • 鹏翔科技 网站建设互动营销的案例有哪些
  • 元氏网站建设国内知名建筑设计公司
  • 半江红网站建设资源开发公司经营范围
  • 网站开发 站长统计品牌和商标的区别
  • 泉州做网站联系方式企业营销策划推广
  • 专做品牌的网站深圳网站建设的客户在哪里
  • 淘宝客云建站网址茂港手机网站建设公司
  • 狮山网站开发百度网络营销
  • 2008系统怎么做网站东莞搜索引擎推广
  • 网络建站公司wordpress后台登录慢
  • 联通网站自主备案系统网站升级每天自动更新
  • 营销型网站建设+课程榆林免费做网站公司
  • 广告类的网站投资公司的钱从哪里来
  • 什么网站做电气自动化兼职html制作简单的个人网页代码
  • 免费建网站系统平台网站上传工具有什么
  • 教育培训学校网站建设方案微信视频制作小程序
  • 大型网站开发成本服务器网站访问慢
  • 广告图片 海报seo推广手段
  • 怎么做网站销售asp 企业网站源码
  • 微软网站开发技术网站建设需要什么东西
  • 河南海华工程建设监理公司网站创建app软件
  • 网站有些什么内容域名注册信息怎么查
  • 文档做网站wordpress密码忘了怎么办
  • 犀牛云做网站费用王晴儿网站建设
  • 网站建设培训福州俄文网站开发
  • 西安网站开发xamokj金色 网站 模板
  • 建网站手机怎么做商城网站怎么做推广
  • 广州网站开发 d广州亦客网络网页版传奇怎么开
  • 32套网站后台管理系统模板大港做网站