将一个整数插入到一个有序的数组并输出

#include <stdio.h>
#define N 100
//定义将整数插入到有序数组中的函数
int Insert_key(int array[],int n,int key)//n:数组array[]的长度   key:向数组array[]中插入的整数
{
    int j=0;
    while(array[j]<key && j<n)
    {
        j++;//找不到比key大的元素要退出循环
    }
    //此时j的下标满足条件array[j]>key && array[j-1]<key
    for(int i=n-1;i>=j;i--)
    {
        array[i+1]=array[i];
    }
    array[j]=key;//将key值插入到数组下标为j的位置
    //利用循环打印数组;
    for(int i=0;i<n+1;i++)
    {
        printf("%d ",array[i]);
    }
}
int main()
{
    /********** Begin **********/
    int n,key;
    scanf("%d\n",&n);
    int array[N];//数组的长度必须得大于n,因为数组插入一个元素之后数组的长度变为n+1;
    for(int i=0;i<n;i++)
    {
        scanf("%d",&array[i]);
    }
    scanf("%d",&key);
    Insert_key(array,n,key);
    /********** End **********/
    return 0;    
}
 
posted @ 2021-08-06 09:51  卿源  阅读(649)  评论(0)    收藏  举报