zoukankan      html  css  js  c++  java
  • 在有顺序的数列中插入一个元素后该数列仍然是有顺序的数组

    /**

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

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

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

     */

    #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;

    }

  • 相关阅读:
    Redis操作命令大全
    Redis实用监控工具一览
    Redis缓存雪崩、缓存穿透、缓存击穿、缓存降级、缓存预热、缓存更新
    Redis GEO地理位置信息,查看附近的人
    详解redis持久化
    详解Supervisor进程守护监控
    详解Redis Cluster集群
    arduino使用rfid
    树莓派控制WS2812
    Arduino读取温湿度dh11+烟雾气体MQ2+彩灯ws2812
  • 原文地址:https://www.cnblogs.com/-boy/p/4020520.html
Copyright © 2011-2022 走看看