这是我的代码。插入排序的实现
#include<stdio.h>
void insert(int member,int arr[],int size)
{
int i,j;
for(i=0;i<size;i++)
{
if(member<arr[i])
{
for(j=0;j<size-i;j++)
{
arr[size]=arr[size-1];
}
arr[i]=member;
break;
}
}
}
void insertsort(int arr[],int size)
{
int newsize=1,member;
for(newsize=1;newsize<size;newsize++)
{
member=arr[newsize];
insert(member,arr,newsize);
}
}
void main()
{
int arr[100];
int size,i;
printf("enter the size");
scanf("%d",&size);
printf("enter numbers");
for(i=0;i<size;i++)
{
scanf("%d",&arr[i]);
}
insertsort(arr,size);
for(i=0;i<size;i++)
printf("\n %d",arr[i]);
}
我不知道是什么问题,但在进入
元素的数量:5;
输入数字45 23 87 345 12
输出12 45 87 345 345
谁能告诉我是什么问题?
看起来像一个关闭的情况的一个问题。 –
@Delan Azabani那是什么? – Kraken
请缩进您的代码。要弄清楚什么是错误将会更容易。 –