冒泡排序和选择排序区别_排序算法精讲:选择排序和冒泡排序

9de5170443c1336a741a444654144939.png点击上方“蓝字”关注我们吧!

哈喽,大家好,这次给大家分享一下基本的排序算法,分别是选择排序和冒泡排序,两个基本的排序算法算是算法学习和编程学习的基本共,要做到拿过来就写的程度(虽然小编也不太熟),为了这篇推文,小编特意写了两遍代码,然后才斗胆拿过来。

这两个算法还算好理解,然后小编也做了一期视频,视频地址如下:

https://www.bilibili.com/video/BV1Cz4y1X7rN/

食用方法建议如下:

  1. 先看教学视频,将算法的逻辑和思想理解透彻;

  2. 闭上眼睛,回忆一下,两个算法的逻辑是怎样的;

  3. 打开IDE,将两个排序算法自己敲一遍代码;

  4. 回忆比较两个代码的区别。

1d7626625895f2a6018080c3d32b0d42.png

c++代码如下所示:

ps.用什么代码不重要,重要的是逻辑和思想!!!

#includeusing namespace std;int main(){  //1.选择排序(从小到大)自行思考从大到小  //step1找到当前序列的最小值  //step2把这个最小值和当前序列最左边的值进行交换  int  a[] = { 1, 3, 77, 34, 11, 12, 6, 8 };//待排序的数组  int size = 8;//数组大小  int min_index;//当前序列最小值的索引号  int temp1;//用于交换操作的临时变量  for (int i = 0; i < size - 1; i++)  {    //找到当前序列的最小值    min_index = i;    for (int j = i + 1; j < size; j++)    {      if (a[j] < a[min_index])        min_index = j;    }  //  //将找到的最小值与当前序列最左边的值进行交换    temp1 = a[i];    a[i] = a[min_index];    a[min_index] = temp1;  }  输出结果  for (int i = 0; i < size; i++)    cout << a[i] << "\t";  //2.冒泡排序(从小到大)  //注意:这里要运行这一段代码的话,需要将上边的选择排序进行注释,  //或者写在不同的函数中,分别调用。  int  a[] = { 1, 3, 77, 34, 11, 12, 6, 8 };//定义待排序的数组  int size = 8;//数组大小  int temp2;//用于交换操作的临时变量  for (int i = 0; i < size - 1; i++)  {    for (int j = i + 1; j < size; j++)    {      if (a[j] < a[i])//比较      {//交换        temp2 = a[i];        a[i] = a[j];        a[j] = temp2;      }    }  }  //输出  for (int i = 0; i < size; i++)    cout << a[i] << "\t";}

其实,大家可以明显看出,冒泡要简洁一些的。

55003d19044d9cdd076c2afadde0bc3e.png

11299d80c80189233002f03d73f1d7b8.png

今天的文章就到这里,下期再见!

送封面:

91267f96b4a4d0a5502f5c42eb449e23.png

463dd532aa1ae3ad0c011aa7015533b4.png

eb91a627592601e7275a6c0a257a7926.png哔哩哔哩:坚持和努力新浪微博:@我家公子Q欢迎关注!谢谢支持! 4d0ad67aeeac031d3d5e47aecd321585.png 75636d9746c04d39e5194bdc58388b97.gif转载是一种动力 分享是一种美德
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值