void InsertionSort(int a[],int size)
{
for(int i=1;i<size;i++)//在数组a[]中 , i从数组的第二个数开始遍历
{
for(int j=0;j<i;j++)//而j的下标永远是小于i的
{
if (a[j]>a[i])//用i前面的数j跟i比较,如果前面j的数比i大
{
int tmp=a[i];//那么将a[i]装入容器tmp中
for(int k=i;k>j;k--)//再次循环,在i和k之间的元素都要向后挪
{
a[k]=a[k-1];
a[j]=tmp;//意思是将a[j]与a[i]互换
break;//如果后面一段所有元素都是从大到小排列,则提前结束
}
}
}
}
}
int main(void)
{
int n=6;
int arr[n];
for(int i=0;i<6;i++)
{
cin>>arr[i];
}
Insertsort(arr,n);
for(int i=0;i<6;i++)
{
cout<<arr[i]<<",";
}
return 0;
}
插入排序c++
于 2022-01-22 20:22:41 首次发布