在升序排序的数组中插入一个元素
来源:互联网 发布:淘宝店铺排行榜怎么看 编辑:程序博客网 时间:2024/05/01 12:37
用函数编程实现在一个按升序排序的数组中查找x应插入的位置,将x插入数组中,使数组元素仍按升序排列。
提示:插入(Insertion)是数组的基本操作之一。插入法排序算法的关键在于要找到正确的插入位置,然后依次移动插入位置及其后的所有元素,腾出这个位置放入待插入的元素。插入排序的原理如图所示:
程序运行结果示例:
Input array size:
5↙
Input array:
1 3 5 7 9↙
Input x:
4↙
After insert 4:
1 3 4 5 7 9
输入格式:
插入前数组元素个数、数组元素、待插入的元素x的输入格式都是:"%d"
输出格式:
输入插入前数组元素个数提示信息:"Input array size:\n"
输入插入前已按升序排序的数组元素提示信息:"Input array:\n"
输入待插入的元素x提示信息:"Input x:\n"
输出插入x后的数组元素提示信息:"After insert %d:\n"
数组元素输出格式:"%4d"
输入样例:
输出样例:
时间限制:500ms内存限制:32000kb
#include<stdio.h>
int main(){
int n,x,i;
printf("Input array size:\n");
scanf("%d",&n);
int a[n+1];
printf("Input array:\n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("Input x:\n");
scanf("%d",&x);
int pos;
for(i=0;i<n;i++){
if(x<a[i]){pos=i;break;}
}
//printf("%d",pos);
for(i=n;i>=pos;i--){
a[i]=a[i-1];
}
a[pos]=x;
printf("After insert %d:\n");
for(i=0;i<=n;i++)
printf("%4d",a[i]);
return 0;}
- 在升序排序的数组中插入一个元素
- 数组插入元素按降序/升序排序
- C语言在数组中插入一个数,升序降序
- 在一个升序的但是经过循环移动的数组中查找指定元素
- 第十三周OJ项目定义好一个有10个元素的数组,先输入9个呈升序的数作为前9个元素,再输入一个数,要求按原来排序的规律将它插入数组中。
- [2014美团笔试]在二维数组中查找一个数,数组元素的行和列均为升序
- 输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数
- 编写一个程序,输入两个包含 5 个元素的数组,先将两个数组升序排序,然 后将这两个数组合并成一个升序数组(合并排序)。
- C 已排序的数组中一个元素,插入后排序不变
- 在数组中插入新的元素
- 在一个有序数组中插入一个元素
- PHP中数组元素升序、降序及重新排序的函数
- PHP中数组元素升序、降序及重新排序的函数
- 输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。
- 一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好等于输入的那个数字
- 输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字。
- 输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字
- 输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。
- HDU 5344 MZL's xor
- 为什么有时可以在头文件可以定义变量,有时不行(变量重定义)。
- Sql_mode
- XML解析(pull解析)
- Java 乱码处理方案
- 在升序排序的数组中插入一个元素
- Java中wait和sleep区别
- XML解析(SAX解析)
- $.fn.extend()和$.extend()
- 高并发解决办法
- 拖拽(一个刚体碰到另一个刚体产生另一个物体)
- Java中文乱码解决之道:Java是如何编码解码的
- 微信公众平台概述
- sdau三 1007