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;

    }

  • 相关阅读:
    全排列
    06-联系人管理(xib应用)
    单键模式
    在mac上截屏的几种方式
    05-Tom猫(UIImageView的简单运用)
    04-图片排列切换
    03-图片浏览器(plist的简单应用)
    02-动态创建按钮
    01-实现图片按钮的缩放、动画效果(block的初步应用)
    oracle 监听动态和静态的配置
  • 原文地址:https://www.cnblogs.com/-boy/p/4020520.html
Copyright © 2011-2022 走看看