题解 | #有序序列插入一个整数#
有序序列插入一个整数
https://www.nowcoder.com/practice/444e87f938464906a1649cff236b102b
#include <stdio.h>
int main() {
int n = 0;
scanf("%d", &n);
int arr[100] = {0};
int arr1[100] = {0};
int left = 0;
int right = n - 1;
int i = 0;
for (i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
int cr = 0;
scanf("%d", &cr);
if (arr[right] < cr)
{
for (i = 0; i < n; i++)
{
arr1[i] = arr[i];
}
arr1[n] = cr;
int j = 0;
for (j = 0; j < n + 1; j++)
{
printf("%d ", arr1[j]);
}
}
else
{
while (arr[left] < cr)
{
left++;
}
for (i = 0; i < left; i++)
{
arr1[i] = arr[i];
}
arr1[left] = cr;
for (i = left + 1; i <= n; i++)
{
arr1[i] = arr[i-1];
}
for (i = 0; i < n + 1; i++)
{
printf("%d ", arr1[i]);
}
}
return 0;
}