【ACM】杭电OJ 2019
可以用链表写,也可以用顺序表写:
下面是链表的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相关推荐
- C++描述杭电OJ 2019. 数列有序 ||
C++描述杭电OJ 2019. 数列有序 || Problem Description 有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新 ...
- 杭电OJ——ACM 1009.FatMouse‘ Trade
FatMouse'Trade 杭电OJ--ACM 1009.FatMouse' Trade链接入口 问题描述 肥老鼠换东西,m磅猫食,n间房子,每个房间有J[i]磅JavaBean,对应 ...
- 杭电OJ——ACM 1003.Max Sum
Max Sum 杭电OJ--ACM 1003.Max Sum链接入口 问题描述 大意: 给定一个序列a[1],a[2],a[3]-a[n],你需要算出其子序列中的最大值.比如说:给你一个 ...
- 赛马网ACM试题(原杭电oj ACM)java版答案(1000,10001,1002)
赛马网ACM试题(原杭电OJ ACM试题)答案(java版) Author : Zhang Hailong Date : 2015-09-17 HomePage : http:// E ...
- 【ACM】杭电OJ 2037
题目链接:杭电OJ 2037 先把b[i]进行排序,然后,b[i]与a[i+1]进行比较. #include <iostream> #include <cstdio> #inc ...
- 【ACM】杭电OJ 2020(排序)
题目链接:杭电OJ 2020 排序可以有冒泡排序,选择排序,或者直接调用函数. 下面是选择排序: #include <stdio.h> #include <math.h> in ...
- 【ACM】杭电OJ 2018
题目链接:杭电OJ 2018 从n>4开始,每一年的牛的数量=前一年的牛的数量+三年前的牛的数量 问:为什么是三年前? 答:假设三年前有一头小牛出生,出生的那一年即为第一年,到了第四年,即三年后 ...
- 【ACM】杭电OJ 1005
题目链接:杭电OJ 1005 超时代码如下(而且开辟的数组空间大小不够): #include <stdio.h> int m[100000]; int f(int n,int a,int ...
- 【ACM】杭电OJ 1004
题目链接:杭电OJ 1004 运行环境:Dev-C++ 5.11 思路: 先把先把num数组全部赋值为1:第一个颜色单独输入,从第二个开始,需要与前面的进行比较,如果前面有相同的颜色,则在目前的nu ...
最新文章
- LeetCode - Maximum Depth of Binary Tree
- java调用百度推送详解,关于百度推送,请教一下大家
- Transformer 详解
- 今天,终于又有时间更新飞鸽传书了。
- CodeForces - 1513B AND Sequences
- 得到星期的sql语句和得到月末的sql语句
- iOS8 UIAlertView键盘闪一下的问题
- (附源码)RN Demo
- 2014 usnews 计算机科学 排名 天道留学,2014年美国USNews大学公立大学排名情况
- win10计算机怎么改中文,win10系统中文语言的设置方法
- Vim快捷键汇总 - Jeffery Lee的专栏 - CSDNBlog
- 渔夫与商人的故事:人的一生到底在追求什么
- 4、nerf(pytorch)
- 啥?学习微服务,你竟然不知道什么是熔断,降级和限流
- Linux网络入侵检测软件
- 笔记本电脑键盘输入错误如何解决 电脑按键错乱的解决方法步骤
- python包编译过程中出现: /usr/local/cuda-9.0/nvcc: No such file or directory问题的简单解决办法
- c++实现文件传输之三:断点续传与多线程传输
- 人类特有本能:保护族群老弱病残
- 拓扑排序与关键路径(AOV网和AOE网)