可以用链表写,也可以用顺序表写:

下面是链表的AC代码:

#include <stdio.h>
#include <stdlib.h>
typedef struct node
{int info;struct node* next;
}N;
N* init()
{return NULL;
}
N* creat(N* head,int n)
{int i,x;N *p, *q = NULL;for (i = 1; i <= n; i++){scanf_s("%d", &x);p = (N*)malloc(sizeof(N));p->info = x;p->next = NULL;if (!head){head = p;q = p;}else{q->next = p;q = p;}}return head;
}
void display(N* head)
{N *p=head;while (p){if (p->next)printf("%d ", p->info);elseprintf("%d\n",p->info);p = p->next;}
}
N *insert(N* head,int x)
{N *p,*q=head,*qq=head->next;p = (N*)malloc(sizeof(N));p->info = x;if (p->info <= head->info){p->next = head;head = p;return head;}while (qq){if (p->info >= q->info && p->info <= qq->info){p->next = qq;q->next = p;break;}else{q = qq;qq = qq->next;}}if (!qq){q->next = p;p->next = NULL;}return head;
}
int main()
{N *h;int m, n;while (scanf_s("%d%d", &n, &m) != EOF){if (n == 0 && m == 0)  return 0;h = init();h = creat(h, n);h = insert(h, m);display(h);}return 0;
}

下面是通过移动数组的元素进行:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{int a[110], n, t, i,  m;while (scanf_s("%d%d", &n, &m) != EOF){if (m == 0 && n == 0)return 0;t = -1;memset(a, 0, sizeof(a));if (m == 0 && n == 0)  return 0;for (i = 0; i < n; i++){scanf_s("%d", &a[i]);if (a[i] < m){t = i;}}if (t == -1){for (i = n; i >= 1; i--){a[i] = a[i - 1];}a[0] = m;}else if(t<n-1){for (i = n; i >= t + 1; i--){a[i] = a[i - 1];}a[t + 1] = m;}else if (t == n - 1){a[n] = m;}for (i = 0; i <= n; i++){if (i != n){printf("%d ", a[i]);}else{printf("%d\n", a[i]);}}}return 0;
}

上面的是用数组写的。

【ACM】杭电OJ 2019相关推荐

  1. C++描述杭电OJ 2019. 数列有序 ||

    C++描述杭电OJ 2019. 数列有序 || Problem Description 有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新 ...

  2. 杭电OJ——ACM 1009.FatMouse‘ Trade

    FatMouse'Trade 杭电OJ--ACM 1009.FatMouse' Trade链接入口 问题描述        肥老鼠换东西,m磅猫食,n间房子,每个房间有J[i]磅JavaBean,对应 ...

  3. 杭电OJ——ACM 1003.Max Sum

    Max Sum 杭电OJ--ACM 1003.Max Sum链接入口 问题描述 大意:        给定一个序列a[1],a[2],a[3]-a[n],你需要算出其子序列中的最大值.比如说:给你一个 ...

  4. 赛马网ACM试题(原杭电oj ACM)java版答案(1000,10001,1002)

    赛马网ACM试题(原杭电OJ ACM试题)答案(java版) Author : Zhang Hailong   Date   : 2015-09-17    HomePage : http://  E ...

  5. 【ACM】杭电OJ 2037

    题目链接:杭电OJ 2037 先把b[i]进行排序,然后,b[i]与a[i+1]进行比较. #include <iostream> #include <cstdio> #inc ...

  6. 【ACM】杭电OJ 2020(排序)

    题目链接:杭电OJ 2020 排序可以有冒泡排序,选择排序,或者直接调用函数. 下面是选择排序: #include <stdio.h> #include <math.h> in ...

  7. 【ACM】杭电OJ 2018

    题目链接:杭电OJ 2018 从n>4开始,每一年的牛的数量=前一年的牛的数量+三年前的牛的数量 问:为什么是三年前? 答:假设三年前有一头小牛出生,出生的那一年即为第一年,到了第四年,即三年后 ...

  8. 【ACM】杭电OJ 1005

     题目链接:杭电OJ 1005 超时代码如下(而且开辟的数组空间大小不够): #include <stdio.h> int m[100000]; int f(int n,int a,int ...

  9. 【ACM】杭电OJ 1004

     题目链接:杭电OJ 1004 运行环境:Dev-C++ 5.11 思路: 先把先把num数组全部赋值为1:第一个颜色单独输入,从第二个开始,需要与前面的进行比较,如果前面有相同的颜色,则在目前的nu ...

最新文章

  1. LeetCode - Maximum Depth of Binary Tree
  2. java调用百度推送详解,关于百度推送,请教一下大家
  3. Transformer 详解
  4. 今天,终于又有时间更新飞鸽传书了。
  5. CodeForces - 1513B AND Sequences
  6. 得到星期的sql语句和得到月末的sql语句
  7. iOS8 UIAlertView键盘闪一下的问题
  8. (附源码)RN Demo
  9. 2014 usnews 计算机科学 排名 天道留学,2014年美国USNews大学公立大学排名情况
  10. win10计算机怎么改中文,win10系统中文语言的设置方法
  11. Vim快捷键汇总 - Jeffery Lee的专栏 - CSDNBlog
  12. 渔夫与商人的故事:人的一生到底在追求什么
  13. 4、nerf(pytorch)
  14. 啥?学习微服务,你竟然不知道什么是熔断,降级和限流
  15. Linux网络入侵检测软件
  16. 笔记本电脑键盘输入错误如何解决 电脑按键错乱的解决方法步骤
  17. python包编译过程中出现: /usr/local/cuda-9.0/nvcc: No such file or directory问题的简单解决办法
  18. c++实现文件传输之三:断点续传与多线程传输
  19. 人类特有本能:保护族群老弱病残
  20. 拓扑排序与关键路径(AOV网和AOE网)

热门文章

  1. UI培训教程分享:常用的商业插画风格有哪些?
  2. 零基础能学好UI设计吗
  3. android 加载h5页面部分机型滑动卡顿回弹_网易爆款H5 的交互方法参考
  4. VMware安装Centos7桌面版超详细图文过程
  5. Python--数据存储:pickle模块的使用讲解
  6. ASP.NET Web Forms - 网站导航(Sitemap 文件)
  7. 使用树形结构保存实体
  8. esxi4.1使用IDE格式磁盘
  9. Coursera Machine Learning 作业提交问题
  10. SSH连接不上Linux的解决方法