C语言用选择排序的方法合并有序数组
来源:互联网 发布:淘宝怎么发布虚拟产品 编辑:程序博客网 时间:2024/06/11 00:31
Problem A
合并有序数组(Merging sorted array)
时限:1000ms 内存限制:10000K 总时限:3000ms
描述:
给你两个有序且升序的数组,请你把它们合成一个升序数组并输出
Give you two ordered ascending array, you put them into one ascending array and output.
输入:
第一行为一个正整数n,n<=20 ;
第二行为n个数字,这n个数字用空格隔开
第三行为一个正整数m,m<=20 ;
第四行为M个数字,这m个数字用空格隔开
The first line is a positive integer n, n <= 20;
The second line are n numbers separated by space
The third is a positive integer m, m <= 20;
The fourth line are m numbers separated by space
输出:
输出合并后的数组,每个数字占一行,
Output the combined array, each number per line,
输入样例:
31 3 752 4 6 8 10
输出样例:
123467810
#include<stdio.h>
#include<string.h>
int main()
{
int i,x,j,n,m,k,t,a[21],b[21],c[41];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&m);
for(i=0;i<m;i++)
{
scanf("%d",&b[i]);
}
k=m+n;
for(i=0;i<k;i++)//合并两个数组
{
if(i<n)c[i]=a[i];
if(i>=n)c[i]=b[i-n];
}
for(i=0;i<k-1;i++)//用选择排序的方法按从小到大的顺序给该数组排序
{
x=i;
for(j=i+1;j<k;j++)
{
if(c[j]<c[x])x=j;
}
if(i!=x)
{
t=c[i];
c[i]=c[x];
c[x]=t;
}
}
for(i=0;i<k;i++)
{
printf("%d\n",c[i]);
}
return 0;
}
Northwestern Polytechnical University
Copyright © 2007,Xiaolan.Lee
All Rights Reserved
Problem A
合并有序数组(Merging sorted array)
时限:1000ms 内存限制:10000K 总时限:3000ms
描述:
给你两个有序且升序的数组,请你把它们合成一个升序数组并输出
Give you two ordered ascending array, you put them into one ascending array and output.
输入:
第一行为一个正整数n,n<=20 ;
第二行为n个数字,这n个数字用空格隔开
第三行为一个正整数m,m<=20 ;
第四行为M个数字,这m个数字用空格隔开
The first line is a positive integer n, n <= 20;
The second line are n numbers separated by space
The third is a positive integer m, m <= 20;
The fourth line are m numbers separated by space
输出:
输出合并后的数组,每个数字占一行,
Output the combined array, each number per line,
输入样例:
31 3 752 4 6 8 10
输出样例:
123467810
#include<stdio.h>
#include<string.h>
int main()
{
int i,x,j,n,m,k,t,a[21],b[21],c[41];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&m);
for(i=0;i<m;i++)
{
scanf("%d",&b[i]);
}
k=m+n;
for(i=0;i<k;i++)//合并两个数组
{
if(i<n)c[i]=a[i];
if(i>=n)c[i]=b[i-n];
}
for(i=0;i<k-1;i++)//用选择排序的方法按从小到大的顺序给该数组排序
{
x=i;
for(j=i+1;j<k;j++)
{
if(c[j]<c[x])x=j;
}
if(i!=x)
{
t=c[i];
c[i]=c[x];
c[x]=t;
}
}
for(i=0;i<k;i++)
{
printf("%d\n",c[i]);
}
return 0;
}
Copyright © 2007,Xiaolan.Lee
All Rights Reserved
- C语言用选择排序的方法合并有序数组
- 数据结构-数组排序(冒泡 选择 插入 归并(合并有序数组))-C语言
- C语言实现:合并两个有序的数组,合并后的数组依然有序
- 实现两有序数组的合并仍为新有序数组,且不对新数组排序的最简单方法
- 【C语言】两个有序单链表的合并
- C 语言,将两个数组合并到另外一个数组中,并且合并之后的数组是有序的。
- c语言数组--选择排序
- 排序13:有序数组合并
- 有序数组的合并
- 有序数组的合并
- [leetcode]Merge Sorted Array (两个有序数组的合并 C语言实现)
- 合并两个有序的数组
- 合并两个有序的数组
- 合并两个有序数组(归并排序)
- 合并两个有序数组并排序
- 对俩个有序数组合并排序
- C语言的选择排序
- 两个有序单链表的合并&两个有序数组的合并
- 虚拟机安装cenos7后ifcfg看网卡无inet地址掩码等信息
- Windows环境下,安装MySQL多实例,并实现Mysql的主从同步
- 初学C#感受
- RK3288模块单独编译
- Java SE(五)——高级语言特性(collection接口+异常)
- C语言用选择排序的方法合并有序数组
- 1005. Spell It Right (20)
- JavaScript
- bzoj2216 Lightning Conductor
- java实现ftp文件的上传与下载
- XXTea加密 c++ 与 js 互相加解密
- ubuntu 自启动方法1
- java多线程编程学习chapter3
- Maven下载jar包过程很慢或失败的解决办法