插入排序的原理就是,将一串数字划为有序部分与无序部分,若无法判断有序部分时,可以将第一位数字作为有序部分,然后从第二位开始依次与前一位比较大小,符合大小条件就交换位置,每次交换位置直到不符合大小条件时就停止,然后记录位置,将准备排序的数字插入其中。

在这里插入图片描述

#include<stdio.h>
void sort(int *a,int n)
{
	for(int i=0;i<n-1;i++)
	{
		int end=i;
		int temp=a[end+1];
		while(end>=0)
		{
			if(temp<a[end])
			{
				a[end+1]=a[end];//数组位置后移一位 
				end--;
			}
			else break;
		}
		a[end+1]=temp;//找到合适位置,插入数据 
	}
}
int main()
{
	int s[5]={1,3,7,2,4};
	sort(s,5);
	for(int i=0;i<5;i++)
	{
		printf("%d",s[i]);
	}
	return 0;
}

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐