欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 明星 > C++基础算法(插入排序)

C++基础算法(插入排序)

2025/4/2 23:28:48 来源:https://blog.csdn.net/2301_81817211/article/details/146882490  浏览:    关键词:C++基础算法(插入排序)

1.插入排序

插入排序(Insertion Sort)介绍:
插入排序是一种简单直观的排序算法,它的工作原理类似于我们整理扑克牌的方式。

1.基本思想

插入排序的基本思想是:
1.将数组分为已排序和未排序两部分
2.每次从未排序部分取出第一个元素
3.将该元素插入到已排序部分的正确位置
4.重复这个过程直到所有元素都被排序

2.算法步骤

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

3.动图示例

在这里插入图片描述

4.C++代码实现:

#include <iostream>
using namespace std;void insertsort(int arr[],int sz)
{for(int i=1;i<sz;i++){int j = i;int tmp = arr[i];while(j>=1&&tmp<arr[j-1]){arr[j]=arr[j-1];j--;}arr[j]=tmp;}
}int main() {int arr[]={98,87,76,65,54,43,32,21};int sz = sizeof(arr)/sizeof(arr[0]);insertsort(arr,sz);for(int i=0;i<sz;i++){cout<<arr[i]<<" ";}return 0;
}

冒泡,插入,选择都是很基础的排序算法。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词