(c语言)数组的排序插入和删除

#include
void PaiXu(int arr[11])   //排序
{
    int i, j = 0;
    for (i = 0; i < 10; i++)
    {
        for (j = 0; j < 10 - i-1; j++)
        {
            if (arr[j] > arr[j + 1])
            {
                int t = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = t;
            }
        }
    }
}
void CaRu(int arr[11],int x)    //插入
{
    int i;
    for (i = 9; i>=0; i--)
    {
        arr[i + 1] = arr[i];
        if (arr[i] <=x)
        {
            arr[i+1] = x;
            break;
        }

    }
}
void ShanChu(int arr[11],int s)          //删除
{
    int i;
    for (i = 0; i < 11; i++)
    {
        if (s == arr[i])
        {
            while (i < 11)
            {
                arr[i] = arr[i + 1];
                i++;
            }
            break;
        }
    }
}
int main()
{
    int arr[11],i,x,s;
    printf("请输入数值\n");
    for (i = 0; i < 10; i++)
    {
        printf("arr[%d]=",i);
        scanf("%d",&arr[i]);
    }
    printf("排序前为:\n");
    for (i = 0; i < 10; i++)
    {
        printf("%d ",arr[i]);
    }
    PaiXu(arr);
    printf("\n排序后为:\n");
    for (i = 0; i < 10; i++)
    {
        printf("%d ",arr[i]);
    }
    printf("\n请输入需要插入的值\n");
    scanf("%d",&x);
    CaRu(arr,x);
    printf("插入后的为:");
    for (i = 0; i < 11; i++)
    {
        printf("%d ", arr[i]);
    }
    printf("\n请输入需要删除的数\n");
    scanf("%d",&s);
    ShanChu(arr,s);
    printf("删除后为:");
    for (i = 0; i < 10; i++)
    {
        printf("%d ", arr[i]);
    }
    return 0;
}
 

你可能感兴趣的:(c语言,c语言,算法,图论)