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;

    }

  • 相关阅读:
    译 PrestaShop开发者指南 第三篇 设置本地安装环境
    译 PrestaShop开发者指南 第二篇 代码规范
    [译]PrestaShop开发者指南 第一篇 基础
    Discuz!X3解读之类引入机制及目录结构
    Discuz的缓存体系
    x3d 规范 在线镜像版
    大容量数据库对表做分割
    链表 队列 堆栈 视频
    How ASP.NET MVC Works?
    SQLServer查看和解决死锁的方法
  • 原文地址:https://www.cnblogs.com/-boy/p/4020520.html
Copyright © 2011-2022 走看看