有序数组插入数据
#include <stdio.h>
#define N 5
void insert(int a[], int x);
int main()
{
int a[N] = {
1, 2, 4, 6}, x;
printf("请输入要插入的数据");
scanf("%d", &x);
insert(a,x);
for (int i = 0; i < N; i++)
{
printf("%4d",a[i]);
}
return 0;
}
void insert(int a[], int x)
{
if (x > a[N - 2])
{
a[N - 1] = x;
}
else if (x < a[0])
{
for (int i = N - 1; i > 0; i--)
{
a[i] = a[i - 1];
}
a[0] = x;
}
else
{
for (int i = 0; i < N; i++)
{
if (x > a[i]&&x<a[i+1])
{
for (int j = N-1; j > i+1; j--)
{
a[j] = a[j-1];
}
a[i+1] = x;
break;
}
}
}
}