美文网首页
20.选择排序和插入排序

20.选择排序和插入排序

作者: lxr_ | 来源:发表于2020-12-17 21:09 被阅读0次

//选择排序,每一轮选出新的最值,与上一个最值交换后依次从数组起始位置开始存放

//插入排序,每一轮选出一个值与前面的值比较,若从小到大排,若前面的值大则交换,否则不动,直到交换后这个值没有前面的值小,也没有后面的值大即可

#include<iostream>

using namespace std;

int main()

{

    int arr2[5] = { 300,350,200,400,250 };

    cout << sizeof(arr2)/sizeof(arr2[0])-1 << endl;

    //选择排序,升序

     for (int i = 0; i < sizeof(arr2)/sizeof(arr2[0])-1; i++)

    {

        int min = i;//设第一个数为最小值

        for (int j = i+1; j < sizeof(arr2) / sizeof(arr2[0]); j++)

        {

            if (arr2[min] > arr2[j])

            {

                min = j;//更新最小值位置

            }

        }

        //更新最小值

        int x = arr2[min];

        arr2[min] = arr2[i];

        arr2[i] = x;

    }*/

    //插入排序,升序

    cout << "插入排序" << endl;

    for (int i = 0; i < sizeof(arr2) / sizeof(arr2[0]) - 1; i++)

    {

        int j = i;

        while (j >= 0 && arr2[j + 1] < arr2[j])//一定要先判断j在判断前后的值,否则当j=-1时,会出现访问数组的错误

        {

            int x = arr2[j + 1];

            arr2[j + 1] = arr2[j];

            arr2[j] = x;

            j--;

        }

    }

    for (int i = 0; i < sizeof(arr2) / sizeof(arr2[0]); i++)

    {

        cout << arr2[i] << endl;

    }

    system("pause");

    return 0;

}

相关文章

  • IOS 常用算法

    一:排序算法 排序方式有插入排序,选择排序和交换排序三种。插入排序有直接插入排序和希尔排序。选择排序有简单选择排序...

  • 20.选择排序和插入排序

    //选择排序,每一轮选出新的最值,与上一个最值交换后依次从数组起始位置开始存放 //插入排序,每一轮选出一个值与前...

  • 排序法

    排序分 内部排序和外部排序 内部排序: 插入排序:{直接插入排序,希尔排序} 选择排序:{简单选择排序,堆排序} ...

  • c算法O(n)^2(一)

    选择排序 插入排序 优化插入排序算法

  • android算法 - 排序

    冒泡排序 选择排序 插入排序 快速排序 堆排序 其中简单排序就是冒泡排序,选择排序和插入排序。继而在分冶合并思想上...

  • Java排序算法

    插入排序 直接插入排序 折半插入排序 交换排序 冒泡排序 快速排序 选择排序 简单选择排序 堆排序 其他排序 二路...

  • 算法

    1.常用的八个基本排序算法 -前言:希尔排序和直接插入排序属于插入排序算法,简单选择排序和堆排序属于选择排序,冒泡...

  • iOS算法

    排序方法 选择排序:直接选择排序、堆排序。 交换排序:冒泡排序、快速排序。 插入排序:直接插入排序、二分法插入排序...

  • JavaScript-常见排序算法实现方法汇总

    常见比较排序1.冒泡排序2.选择排序:简单选择排序和堆排序3.插入排序:直接插入排序和希尔排序4.快速排序5.归并...

  • 九种排序算法(重要!!)

    分类:(九种排序算法) 1、插入排序:直接插入排序、二分插入排序、希尔排序; 2、选择排序:简单选择排序、堆排序 ...

网友评论

      本文标题:20.选择排序和插入排序

      本文链接:https://www.haomeiwen.com/subject/sveawktx.html