ZZULIOJ 1118: 数列有序

2024-01-15 03:28
文章标签 有序 数列 1118 zzulioj

本文主要是介绍ZZULIOJ 1118: 数列有序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目描述

一个非递减有序的整型数组有n个元素,给定一个整数num,将num插入该序列的适当位置,使序列仍保持非递减有序。

要求定义一个函数insert(),将整数num插入在数组a的适当位置上,函数原型如下:

void insert(int a[], int n, int num);

另外函数仍然调用以前定义过的函数PrintArr()输出数组所有元素。

输入

输入有三行。第一行是一个正整数n,n<=1000。第二行是n个整数,第三行是待插入整数num。

输出

输出非递减有序的n+1个整数,数据之间用空格隔开。输出占一行。

样例输入 Copy

5
1 2 4 5 6
3

样例输出 Copy

1 2 3 4 5 6

源代码

#include<stdio.h>
int insert(int a[], int n, int num);
void PrintArr(int a[],int n);
int main()
{int n,i,num;int a[1000];scanf("%d\n",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);scanf("%d",&num);insert(a,n,num);PrintArr(a,n+1);return 0;} void PrintArr(int a[],int n)
{int i;for(i=0;i<n;i++){if(i<n-1)printf("%d ",a[i]);else if(i==n-1)printf("%d",a[i]);}
}
int insert(int a[], int n, int num)
{int i;for(i=n-1;i>=0;i--){if(a[i]>num)a[i+1]=a[i];elsebreak;}a[i+1]=num;}

这篇关于ZZULIOJ 1118: 数列有序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/607496

相关文章

JAVA学习-练习试用Java实现“删除有序数组中的重复项”

问题: 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。 你可以想象内部操作如下

UVa 10820 Send a Table (Farey数列欧拉函数求和)

这里先说一下欧拉函数的求法 先说一下筛选素数的方法 void Get_Prime(){ /*筛选素数法*/for(int i = 0; i < N; i++) vis[i] = 1;vis[0] = vis[1] = 0;for(int i = 2; i * i < N; i++)if(vis[i]){for(int j = i * i; j < N; j += i)vis[j] =

算法练习小技巧之有序集合--套路详细解析带例题(leetcode)

前言:         本文详细讲解Python中的有序集合SortedList和C++中的有序集合multiset的用法,配合leetcode的例题来展示实际的用处。(本人水平不够,还无法讲解有序集合的实现方法,只会用)         觉得有帮助或者写的不错可以点个赞,后面也有几道我找出来的题目可以用这个方法快速解决的         (感觉有点水) 目录 有序集合用法讲解:

Android Ordered Broadcast 有序广播

代码设置IntentFilter: IntentFilter intentFilter = new IntentFilter();intentFilter.setPriority(15);intentFilter.addAction("shortcut.song.com.myapplication.MY_BROADCAST");intentFilter.addCategory

【练习7】Fibonacci数列

链接:https://www.nowcoder.com/practice/18ecd0ecf5ef4fe9ba3f17f8d00d2d66 分析: 当n为15的时候,可以用Math.min(c-n,n-b)来判断哪个是变成斐波那契数的最小步数。 public class Main {public static void main(String[] args) {Scanner i

java常用算法之返回目标数字在有序数组中的位置(假设有序数组中不存在重复数字)

/*** @Description 返回目标数字在有序数组中的位置(假设有序数组中不存在重复数字)* @param source* @param target* @return*/public static Integer numIndex(int[] source, int target) {int index = 0;if (source == null || source.length =

java常用算法之两个有序list的合并

/*** 两个已顺序排序数组的合并* * @param aList* @param bList* @return*/public static List<Integer> mergeTwoSortList(List<Integer> aList,List<Integer> bList) {int aLength = aList.size(), bLength = bList.size();Li

牛客《剑指Offer》 -- 斐波那契数列

题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 n<=39 思路 对于n=0,应返回0。 class Solution {public:int Fibonacci(int n) {if(n==0) return 0;if(n==1||n==2) return 1;int a=1,b=1,c;n= n-2;for(int i =0

面试题41:和为s的两个数VS和为s的连续正数数列

问题说明: 1.和为s的两个数问题是从一个排序的数组中找出和为s的两个数; 2.原题是找出一个即可,现在全部找出; 3.和为s的连续正数数列是给定一个数找出所有连续正数数列的和为s,例如s为9,(2,3,4)就是其中一组。 (一)和为s的两个数问题 public static int findNumbersWithSum(int[] sorted, int fromIndex, in

HTML 无序排列 有序排列 框架

HTML 无序排列  有序排列 : <html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title> 第四讲代码汇总</title></head><!--margin-left 对象左边外延边距 (margin-left:5px; 左边外延距离5px)margin-ri