• 在有顺序的数列中插入一个元素后该数列仍然是有顺序的数组


    /**

     在有顺序的数组中插入一个元素后该数列仍然是有顺序的数组:

     思路:先找到该元素的插入位置

          插入数据时要先将数组中得元素后移,然后插入该元素

     */

    #include <stdio.h>

    #define  n 10

     int main()

    {

        // 在有顺序的数列中插入一个元素后该数列仍然是有顺序的数列:

        int a[n] = {-1, 3, 6, 9, 13, 22, 27, 32, 49};

        int insertVal;

        int insertLoc;

        scanf("%d", &insertVal);

            // 找到插入的数在数组中得位置

        for (int i = 0; i<9; i++) {    

            if (insertVal>a[i] && insertVal<a[i+1]) { // 该元素在数列元素中

                            insertLoc = i+1;    

                // 插入到该位置,(需要将该位置后面的值后置,然后插入该值)

                for (int j =n-1; j>i+1; j--) {

                    a[j] = a[j-1];

                }

                a[i+1] =insertVal;

            }else if (insertVal < a[n-10]){ // 该元素在第一位置

                insertLoc = n-10;

                for (int j = n-1; j>0; j--) {      

                    a[j] = a[j-1];

                }

                a[0] = insertVal;

             }else if (insertVal > a[n-2]){ // 该元素在最后面

                insertLoc = n-1;

                a[n-1] = insertVal;

            }

        }

    // 输出

        for (int i = 0; i <n; i++) {

               printf("%d ", a[i]);

        }

        printf(" ");  

        return 0;

    }

  • 相关阅读:
    Makefile目标汇总和变量的高级用法
    make命令详解
    再议HTML Clipboard Format
    编写一个Open Live Writer的VSCode代码插件
    win7安装ps cc 2019切片闪退
    redis cluster 数据迁移
    linux服务器两块网卡路由优先级冲突 Metric值(转)
    电梯怎么测,附常见的测试用例
    vue中watch属性深度监听,监听数组或多维数组下层
    前端JS base64与图片互转
  • 原文地址:https://www.cnblogs.com/-boy/p/4020520.html
Copyright © 2020-2023  润新知