题解 | #有序序列插入一个整数#

有序序列插入一个整数

https://www.nowcoder.com/practice/444e87f938464906a1649cff236b102b

#include <stdio.h>
#include <string.h>
void swap(int*a,int *b)
{
    int tmp;
    tmp = *a;
    *a = *b;
    *b = tmp;
}
int main() {
    int n,i;
    scanf("%d",&n);
    int arr[n+1];
    for(int i=0;i<n+1;i++)
    {
        scanf("%d",&arr[i]);
    }
    int num = arr[n];
    i = n-1;
    while(arr[i]>num&&i>=0)
    {
        arr[i+1]=arr[i];
        i--;
    }
    arr[i+1] = num;
    for(i=0;i<n+1;i++)
    {
        printf("%d ",arr[i]);
    }
}

就是一个简单的数组插入,感觉更简单的方法是读入之后,直接用for输出比arr[n]小的数,并在遇到第一个比arr[n]大的数时break,然后输出arr[n],最后输出剩余的数

全部评论

相关推荐

想去夏威夷的小哥哥在度假:5和6才是重点
点赞 评论 收藏
分享
11-08 17:36
诺瓦科技_HR
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务