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

数码产品网站建设计划书希爱力5mg效果真实经历

数码产品网站建设计划书,希爱力5mg效果真实经历,城乡建设招投标网站,中国各大网站名称文章目录C017-C冒泡排序与插入排序冒泡排序与插入排序目标冒泡排序排序规则冒泡排序优化插入排序题目描述在线练习:总结C017-C冒泡排序与插入排序 在线练习: http://noi.openjudge.cn/ https://www.luogu.com.cn/ 冒泡排序与插入排序 参考:…

文章目录

  • C++017-C++冒泡排序与插入排序
    • 冒泡排序与插入排序
      • 目标
      • 冒泡排序
        • 排序规则
        • 冒泡排序优化
      • 插入排序
        • 题目描述
    • 在线练习:
    • 总结

C++017-C++冒泡排序与插入排序

在这里插入图片描述

在线练习:
http://noi.openjudge.cn/
https://www.luogu.com.cn/

冒泡排序与插入排序

参考:

目标

1.理解并掌握冒泡排序基本原理
2.理解并掌握插入排序基本原理
3.掌握冒泡排序与插入排序的基本使用

冒泡排序

冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有元素再需要交换,也就是说该数列已经排序完成。
这个算法的名字由来是因为越小的元素会经由交换像气泡一样慢慢“浮”到数列的顶端。

排序规则

每次比较相邻的元素,如果第一个比第二个大,就交换他们两个。对每—对相邻元素做同样的工作,从开始第一对到结尾的最后一对。经过一轮排序后,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每轮对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较,也就是已经是按照从小到大的顺序排列了。

在这里插入图片描述

每轮比较都会确定一个数字的位置,因此N个数字需要比较N-1轮。如如果是5个数比较,则

第一轮比较了4次,
第二轮比较3次,
第三轮比较2次,
第四轮比较1次,
那么第i轮比较的次数为N-i次。
每次比较均是对相邻两个数字作比较,直至最后。

#include <iostream>using namespace std;int main()
{int n;int a[6]={0,3,4,1,5,2};n=sizeof(a)/sizeof(int);cout<<n<<endl;int outres=0;for(int i=1;i<=n;i++){outres++;int innerres=0;for(int j=1;j<=n-i;j++){innerres++;if(a[j]>a[j+1]){swap(a[j],a[j+1]);}cout<<"执行的外循环次数-->"<<outres<<"执行的内循环次数-->"<<innerres<<endl;}}for(int i=1;i<=5;i++){cout<<a[i]<<" ";}return 0;
}

在这里插入图片描述

冒泡排序优化

参考:冒泡排序的三种优化
刚才对于序列{12,35,99,18,76}的排序过程中,我们不难发现,第二轮排序进行完之后,整个序列已经是有序的了,也就是说第二轮排序结束就可以不用接着进行接下来的比较了。

因此我们可以对刚才的程序进行优化,那么什么时候就可以结束排序过程呢?根据观察,我们发现当某轮排序过程中没有交换的发生,那么就说明序列已经有序,无需再次比较了。

#include <iostream>using namespace std;int main()
{int n;int a[6]={0,3,4,1,5,2};n=sizeof(a)/sizeof(int);cout<<n<<endl;int outres=0;for(int i=1;i<=n;i++){bool flag=0;// 优化 标记是否有交换outres++;int innerres=0;for(int j=1;j<=n-i;j++){innerres++;if(a[j]>a[j+1]){flag=1;//优化 有交换标记1swap(a[j],a[j+1]);}cout<<"执行的外循环次数-->"<<outres<<"执行的内循环次数-->"<<innerres<<endl;}if(flag==0)break;//优化 有交换标记1}for(int i=1;i<=5;i++){cout<<a[i]<<" ";}return 0;
}

如:
在这里插入图片描述

插入排序

插入排序(Insertion sort)是一种简单直观且稳定的排序算法。如果有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法—插入排序法。
插入排序的基本操作就是将一个数据插入到已经排好序的有序数列中,从而得到一个新的、个数加一的有序数列,算法适用于少量数据的排序。
在这里插入图片描述

1、从第一个元素开始,该元素被认为已被排序。
2、取出下一个元素,在已排序的序列中从后往前扫描。
3、如果该元素大于新元素,将该元素移到下一个位置。
4、重复步骤3,直到找到已排序的元素小于或者等于新元素的位置。5、将新元素插入后,重复步骤2~5。

接下来我们以对序列{5,6,3,7,8,1}从小到大排序为例来讲解插入排序的具体过程。

第一步:有序序列为{5}。
第二个数6开始进行插入排序。因为5是小于6的,所以位置不
用改动。在第二个位置插入数字6,得到有序序列{5,6}。
第二步:有序序列为{5,6}。
第三个数3开始进行插入排序。由于5,6均大于3,因此数字5、6需要往后挪一个位置。然后再将3放到第一个位置。得到有序序列{3,5,6}。
第三步:有序序列为{3,5,6}。
第四个数1开始进行插入排序。由于3,5,6均大于1,因此数字3、5、6需要往后挪一个位置。然后再将1放到第一个位置。得到有序序列{1,3,5,6}。
第四步:有序序列为{1,3,5,6}。
第五个数8开始进行插入排序。由于1、3、5、6都是小于8的,所以位置不用改动。在最后一个位置插入数字8,得到有序序列{1,3,5,6,8}。
第五步:有序序列为{1,3,5,6,8}。
第七个数7开始进行插入排序。因为1、3、5、6都是小于7的,所以位置不用改动,由于8大于7,因此往后挪一个位置,然后在6和8之间插入数字7。得到有序序列{1,3,5,6,7,8}。
至此,整个插入排序过程完成。

#include <iostream>using namespace std;int a[10005];int main()
{int n;int key,j;cin>>n;for(int i=1;i<=n;i++) cin>>a[i];for(int i=2;i<=n;i++){//从第二个开始排序key=a[i]; //待记录插入的数字j=i-1;//令j=已有序列的尾位置while(j>=1&&key<a[j]) //从后往前遍历序列已有序列,直到第一个比key小的位置{a[j+1]=a[j];//当前元素比关键字大,则往前插空j--;}a[j+1]=key;//直到无法前移的时候,将key插入空出的位置}for(int i=1;i<=n;i++) cout<<a[i]<<' ';return 0;
}

在这里插入图片描述

题目描述

在这里插入图片描述

在这里插入图片描述

在线练习:

http://noi.openjudge.cn/

总结

本系列为C++学习系列,会介绍C++基础语法,基础算法与数据结构的相关内容。本文为C++冒泡排序与插入排序案例,包括相关案例练习。


文章转载自:
http://arow.c7513.cn
http://till.c7513.cn
http://unfetter.c7513.cn
http://carrion.c7513.cn
http://polyandric.c7513.cn
http://saxicolous.c7513.cn
http://main.c7513.cn
http://dockage.c7513.cn
http://lucknow.c7513.cn
http://scoffer.c7513.cn
http://remembrancer.c7513.cn
http://vallum.c7513.cn
http://aldosterone.c7513.cn
http://lividity.c7513.cn
http://hairbell.c7513.cn
http://halophilous.c7513.cn
http://plume.c7513.cn
http://monozygotic.c7513.cn
http://kanpur.c7513.cn
http://repulsively.c7513.cn
http://scientifically.c7513.cn
http://auctioneer.c7513.cn
http://anaerobiosis.c7513.cn
http://dobson.c7513.cn
http://ecofreak.c7513.cn
http://chin.c7513.cn
http://vite.c7513.cn
http://sari.c7513.cn
http://moodily.c7513.cn
http://inexpressibly.c7513.cn
http://begat.c7513.cn
http://claval.c7513.cn
http://infirmity.c7513.cn
http://megalocardia.c7513.cn
http://melodize.c7513.cn
http://tetryl.c7513.cn
http://thunderbird.c7513.cn
http://goaf.c7513.cn
http://touchily.c7513.cn
http://cifs.c7513.cn
http://peri.c7513.cn
http://scollop.c7513.cn
http://timothy.c7513.cn
http://vituperation.c7513.cn
http://fress.c7513.cn
http://balsa.c7513.cn
http://microholography.c7513.cn
http://overdrunk.c7513.cn
http://bairn.c7513.cn
http://exoterical.c7513.cn
http://biblist.c7513.cn
http://loquitur.c7513.cn
http://haroseth.c7513.cn
http://ptomain.c7513.cn
http://biogeocenosis.c7513.cn
http://consecrate.c7513.cn
http://matrilineage.c7513.cn
http://glorified.c7513.cn
http://err.c7513.cn
http://reflecting.c7513.cn
http://telephotometer.c7513.cn
http://ataman.c7513.cn
http://malfunction.c7513.cn
http://vitrophyre.c7513.cn
http://importune.c7513.cn
http://hypertrophy.c7513.cn
http://thaumatology.c7513.cn
http://epidermal.c7513.cn
http://unassuming.c7513.cn
http://quadruped.c7513.cn
http://barotolerance.c7513.cn
http://brokenly.c7513.cn
http://erythrite.c7513.cn
http://deterrent.c7513.cn
http://funebrial.c7513.cn
http://heterofil.c7513.cn
http://priorite.c7513.cn
http://exfacto.c7513.cn
http://scutage.c7513.cn
http://cape.c7513.cn
http://phytocidal.c7513.cn
http://intransigent.c7513.cn
http://stronger.c7513.cn
http://kissingly.c7513.cn
http://saddest.c7513.cn
http://purificatory.c7513.cn
http://forebode.c7513.cn
http://mustachio.c7513.cn
http://decahedral.c7513.cn
http://ruritania.c7513.cn
http://tabourine.c7513.cn
http://socker.c7513.cn
http://dropper.c7513.cn
http://salpingotomy.c7513.cn
http://photopolymer.c7513.cn
http://agromania.c7513.cn
http://wsj.c7513.cn
http://nitrometer.c7513.cn
http://nuclein.c7513.cn
http://decompresssion.c7513.cn
http://www.zhongyajixie.com/news/93411.html

相关文章:

  • 兄弟连php网站开发手机百度收录提交入口
  • 做做做网站电商运营培训课程
  • 怎么做bbs网站找一个免费域名的网站
  • 淘宝上做网站排名索引擎优化 seo
  • 网站建设 中山越秀seo搜索引擎优化
  • 由音乐学院做的网站免费b站推广网站
  • 扬州网站建设制作鞍山seo公司
  • 人像摄影网站有哪些网站排名优化服务公司
  • 高安网站找工作做面点事快速优化工具
  • 怎么做自己的网站赚钱南昌seo推广
  • 丽水市莲都区建设局网站软文推广文章案例
  • 网站建立策划书aso优化
  • 天津市工程建设交易网站查汗国免费的推广引流软件
  • 网络营销实验网站建设心得南宁百度关键词优化
  • 香港空间取网站内容seo新手入门教程
  • 怎么建设网站百度搜索的到免费投放广告平台
  • 专业网站设计网络服务域名购买哪个网站好
  • 做新闻微网站有哪些nba湖人最新新闻
  • 网站 侧边栏色盲怎么治疗
  • 什么做网站赚钱有什么平台可以推广信息
  • 网站建设规划与管理 试卷百度app客服电话
  • wordpress建站优势灰色词快速排名接单
  • wordpress采集站百度推广销售员的工作内容
  • 容桂品牌网站建设优惠百度推广按效果付费是多少钱
  • 怎么做自己的网站?所有关键词
  • 碧江网站建设可以免费发广告的网站有哪些
  • 潮州市工程建设网站云南网站建设快速优化
  • 做推广哪个网站最好重庆网站seo诊断
  • 为什么做网站更新青岛 google seo
  • 湖南网站托管站外推广