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

300500启迪设计福州百度网站快速优化

300500启迪设计,福州百度网站快速优化,北京cms建站系统,影视制作冒泡排序及其优化 冒泡排序核心思想 冒泡排序的核⼼思想就是:两两相邻的元素进⾏⽐较 1题目举例 给出一个倒序数组:arr[10]{9,8,7,6,5,4,3,2,1,0} 请排序按小到大输出 1.1题目分析 这是一个完全倒序的数组,所以确定冒泡排序的趟数&#xff0…

冒泡排序及其优化

冒泡排序核心思想

冒泡排序的核⼼思想就是:两两相邻的元素进⾏⽐较

1题目举例

给出一个倒序数组:arr[10]={9,8,7,6,5,4,3,2,1,0}
请排序按小到大输出

1.1题目分析

这是一个完全倒序的数组,所以确定冒泡排序的趟数,就是需要九趟冒泡排序

1.2冒泡排序函数实现

//冒泡排序函数
void bubble_sort(int* arr, int sz)//参数接收数组元素个数
{//确定冒泡排序趟数int i = 0;for (i = 0; i < sz - 1; i++){//一趟冒泡排序int j = 0;for (j = 0; j < sz - 1 - i; j++)//确定交换的对数{if (*(arr + j) > *(arr + j + 1)){//交换int temp = *(arr + j);*(arr + j) = *(arr + j + 1);*(arr + j + 1) = temp;}}}
}

1.3打印数组函数实现

//打印数组函数
void print(int* arr, int sz)
{int i = 0;for (i = 0; i < sz; i++){printf("%d ", *(arr++));}
}

1.4完整代码实际代入实现

#include<stdio.h>
//冒泡排序
//冒泡排序函数
void bubble_sort(int* arr, int sz)//参数接收数组元素个数
{//确定冒泡排序趟数int i = 0;for (i = 0; i < sz - 1; i++){//一趟冒泡排序int j = 0;for (j = 0; j < sz - 1 - i; 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 sz)
{int i = 0;for (i = 0; i < sz; i++){printf("%d ", *(arr++));}
}
int main()
{int arr[] = { 9,8,7,6,5,4,3,2,1,0 };int sz = sizeof(arr) / sizeof(arr[0]);bubble_sort(arr, sz);print(arr, sz);return 0;
}

1.5运行结果展示

在这里插入图片描述

2.题目举例

假设给出一个极端数组arr[10]={9,0,1,2,3,4,5,6,7,8}
给他排序,按小到大输出

2.1题目分析

我们观察题目就会发现,这个数组只需1趟冒泡排序就会完成排序要求,但是,如果我们依旧使用上面那个冒泡排序的代码,他就会任然在一趟排好的情况下,继续两两比较,这样,就会大大浪费时间,所以我们就可以对以上冒泡排序代码进行优化。

2.2冒泡排序函数优化实现

//冒泡排序函数优化
void bubble_sort(int* arr, int sz)//参数接收数组元素个数
{//确定冒泡排序趟数int i = 0;for (i = 0; i < sz - 1; i++){int flag = 1;//假设数组是有序的//一趟冒泡排序int j = 0;for (j = 0; j < sz - 1 - i; j++)//确定交换的对数{if (*(arr + j) > *(arr + j + 1)){//交换int temp = *(arr + j);*(arr + j) = *(arr + j + 1);*(arr + j + 1) = temp;flag = 0;//不是有序}}if (flag == 1)//如果已经有序,就跳出循环{break;}}
}

2.3打印数组函数实现

//打印数组函数
void print(int* arr, int sz)
{int i = 0;for (i = 0; i < sz; i++){printf("%d ", *(arr++));}
}

2.4完整代码优化实际代入实现

//冒泡排序优化
//冒泡排序函数优化
void bubble_sort(int* arr, int sz)//参数接收数组元素个数
{//确定冒泡排序趟数int i = 0;for (i = 0; i < sz - 1; i++){int flag = 1;//假设数组是有序的//一趟冒泡排序int j = 0;for (j = 0; j < sz - 1 - i; j++)//确定交换的对数{if (*(arr + j) > *(arr + j + 1)){//交换int temp = *(arr + j);*(arr + j) = *(arr + j + 1);*(arr + j + 1) = temp;flag = 0;//不是有序}}if (flag == 1)//如果已经有序,就跳出循环{break;}}
}
//打印数组函数
void print(int* arr, int sz)
{int i = 0;for (i = 0; i < sz; i++){printf("%d ", *(arr++));}
}
int main()
{int arr[] = { 9,0,1,2,3,4,5,6,7,8 };int sz = sizeof(arr) / sizeof(arr[0]);bubble_sort(arr, sz);print(arr, sz);return 0;
}

2.5运行结果展示

在这里插入图片描述

http://www.tj-hxxt.cn/news/73640.html

相关文章:

  • b2b外贸网站建站短链接生成
  • 电子商务网站建设的建议seo优化网络推广
  • 大连网站外包网络推广公司主要做什么
  • 网站建设案例咨询品牌推广平台
  • 电子商务网站建设的过程和步骤seo网站推广助理
  • 建设网站的英语怎么说数据统计网站有哪些
  • 网站建设郑州软件推广平台
  • 找南昌兼职做网站的网上推广产品怎么做
  • 成都 做网站 模版整合营销传播
  • 为企业做网站优化大师百科
  • 在线ui设计网站怎么去推广一个app
  • 鄂州吧seo外链优化培训
  • 北京app开发公司排名郑州百度推广seo
  • 娄底网站seo网络营销推广方案策划与实施
  • 仙桃做网站的公司有哪些seo点击排名软件哪里好
  • 建湖人才网最新招聘龙岩seo
  • 阿里巴巴批发网站叫什么百度快照下载
  • 网站常用的字体哪个公司要做网络推广
  • 网络规划设计师教程第三版云盘下载杭州seo公司
  • 与企业网站做接口seo深度优化公司
  • 做app网站的软件叫什么域名被墙污染查询
  • 我的校园网站制作谷歌seo快速排名软件首页
  • 服装网站建设教程关键字是什么意思
  • 西安网站seo分析百度普通收录
  • python 网站架构b2b电子商务平台
  • 做网站有送企业邮箱吗web网站模板
  • 中国做国外的网站广州网站优化排名系统
  • c 怎么做能让窗体访问网站杨谦教授编的营销课程
  • 网络隐私安全国内seo公司哪家最好
  • 国外专门做视频翻译网站吗天津网络优化推广公司