冒泡排序(升序)笔记兼代码(c++)

 学习的第一种算法:冒泡排序

/*
冒泡排序:(因为像冒泡一样,最大的数一个个冒出来,故称为“冒泡排序”)
1.通过相邻的两个数比较,若左大于右,则左右交换,从第一组一直检索(比较)至最后一组。
2.若有n个数,则相隔两两成组,共有n-1组,检索(比较)n-1次。
3.每一次检索完毕都能找到一个最大值,并将该最大值放在最右端。
4.重复以上的步骤,每次检索(比较)完一行之后,下一次检索(比较)的次数-1
  *例如:2,5,3,4,1
   第一次需要检索(比较)4次,将5放在了最右端
   第二次,由于最大数5已经在最右端,所以只需要检索(比较)剩下的4个数,即检索(比较)的次数-1

规律:1.排序轮数为 0,1,2,3....
      2.排序总轮数=元素个数-1
	  3.每轮的检索(比较)次数=元素个数-当前的排序轮数-1

算法:双重for循环
     for(int i=0;i < n - 1; i++)  //  0为初始轮数, n-1为排序总轮数, i最大为n-2 ,从0~n-2共 n-1个数(即总轮数)
	 {
	     for(int j=0;j< n - i -1; j++)   //比较次数=元素个数-当前的排序轮数-1
		 {                //比较函数
		     if(arr[j]>arr[j+1])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值