冒泡排序与选择排序(最low的两兄弟)

简介: 冒泡排序与选择排序(最low的两兄弟)

个人主页:Lei宝啊

愿所有美好如期而遇


前言:

在我们的生活中,无处不在用到排序,比如说成绩的排名,淘宝,京东等等商品在各个方面的排序,这样看来一个好的算 法很重要,接下来我们要先了解一下比较挫的两个排序算法。



冒泡排序:


思路:


我们要做的就是将一组数据升序或者降序排列,使用两个循环,里面的循环在升序情况下,将最大的数字排到最后,为一次排序,外面的循环控制排序次数。


图解:


代码:


void Bubble_Sort(int* arr, int n)
{
  int temp = 0;
  for (int i = 0; i < n - 1; i++)
  {
    int flag = 0;
    for (int j = 0; j < n - i - 1; j++)
    {
      if (arr[j] > arr[j + 1])
      {
        temp = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = temp;
        flag = 1;
      }
    }
    if (flag == 0)
    {
      break;
    }
  }
}


选择排序:


思路:


类似于冒泡排序,也需要两个循环,我们需要一个开始位置和末尾位置,即begin和end,然后选出最小的数放在begin位置,最大的数放在end位置,然后同时往中间走,重复操作,直到相遇。


图解:



代码:


void SelectSort(int* arr, int n)
{
  int left = 0;
  int right = n - 1;
  while (left < right)
  {
    int max = left;
    int min = left;
    for (int i = left + 1; i <= right; i++)
    {
      if (arr[max] < arr[i])
      {
        max = i;
      }
      if (arr[min] > arr[i])
      {
        min = i;
      }
    }
    Swap(&arr[max], &arr[right]);
    if (min == right)
    {
      min = max;
    }
    Swap(&arr[min], &arr[left]);
    left++;
    right--;
  }
}

目录
相关文章
|
8月前
|
人工智能 算法 C语言
数据结构与算法——简单排序-冒泡排序、插入排序,时间复杂度下界(图示、代码、时间复杂度、定理)
数据结构与算法——简单排序-冒泡排序、插入排序,时间复杂度下界(图示、代码、时间复杂度、定理)
56 0
|
9月前
|
搜索推荐 算法 索引
【排序算法】深入解析快速排序(霍尔法&&三指针法&&挖坑法&&优化随机选key&&中位数法&&小区间法&&非递归版本)
【排序算法】深入解析快速排序(霍尔法&&三指针法&&挖坑法&&优化随机选key&&中位数法&&小区间法&&非递归版本)
224 4
|
存储 算法 搜索推荐
数据结构各内部排序算法总结对比及动图演示(插入排序、冒泡和快速排序、选择排序、堆排序、归并排序和基数排序等)2
数据结构各内部排序算法总结对比及动图演示(插入排序、冒泡和快速排序、选择排序、堆排序、归并排序和基数排序等)2
308 0
|
9月前
|
人工智能 算法
图解:求逆序对数量(归并排序的应用)
图解:求逆序对数量(归并排序的应用)
|
搜索推荐
“掌握更多的快速排序技巧:三路划分、双路快排和非递归的深入理解”(上)
“掌握更多的快速排序技巧:三路划分、双路快排和非递归的深入理解”(上)
206 0
|
人工智能 算法
【归并排序】归并排序/逆序对的数量
【归并排序】归并排序/逆序对的数量
|
9月前
|
搜索推荐 算法 C++
DS:八大排序之直接插入排序、希尔排序和选择排序
DS:八大排序之直接插入排序、希尔排序和选择排序
132 1
|
9月前
|
存储 搜索推荐 测试技术
DS:八大排序之堆排序、冒泡排序、快速排序
DS:八大排序之堆排序、冒泡排序、快速排序
|
存储 算法 搜索推荐
数据结构各内部排序算法总结对比及动图演示(插入排序、冒泡和快速排序、选择排序、堆排序、归并排序和基数排序等)1
数据结构各内部排序算法总结对比及动图演示(插入排序、冒泡和快速排序、选择排序、堆排序、归并排序和基数排序等)1
260 0
|
存储 算法 搜索推荐
【排序】排序这样写才对Ⅰ --插入排序与选择排序
常见的排序算法有这些.将会分成几个章节讲完,感兴趣的uu们可以关注下我的排序专栏,方便和后期观看.
73 0