#include<stdio.h>
void sort(int a[],int n)
{
for(int i=1;i<n;i++)//每一个数必须要有序
{
for(int j=0;j<i;j++)//在前面找到比a[i]大的数
{
if(a[i]<a[j])
{
int temp=a[i];
for(int k=i;k>j;k--)//把有序的地方往后移动
{
a[k]=a[k-1];
}
a[j]=temp;//插入到合适的位置
}
}
}
}
/*
插入合适的位置,然后不借助其他的空间/*/
int main()//插入排序 时间复杂度O(n3)
{
int n;
scanf("%d",&n);
int num[n];
for(int i=0;i<n;i++)
scanf("%d",&num[i]);
sort(num,n);
for(int i=0;i<n;i++)
{
printf("%d ",num[i]);
}
}
插入排序C语言实现
最新推荐文章于 2024-07-12 18:56:03 发布