实现两有序数组的合并仍为新有序数组,且不对新数组排序的最简单方法
来源:互联网 发布:天纵国际软件 编辑:程序博客网 时间:2024/06/08 11:33
两升序数组
int a[10]={2,5,6,7,9,10,15,17,20,21}; int b[10]={12,14,16,17,19,22,25,27,28,30};
合并为有序数组后:
代码实现:
#include<stdio.h>int main(void){ int a[10]={2,5,6,7,9,10,15,17,20,21}; int b[10]={12,14,16,17,19,22,25,27,28,30}; int c[20]; int i,t,j; t=j=0; for(i=0;i<20;)//可以保证c只有20个元素 { while(((a[t]<=b[j])||(j==10))&&t<=9) { c[i]=a[t++]; printf("%d ",c[i++]); } while(((b[j]<=a[t])||(t==10))&&j<=9) { c[i]=b[j++]; printf("%d ",c[i++]); } }}
注意:
- 外层循环保证i<20使c只有二十个元素并不能让i再自增
- a数组的元素加入到新数组的条件是,a[t]<=b[j] 或b数组已经全部放入前提是t小于10
- b数组的元素加入到新数组的条件是,a[t]>=b[j] 或a数组已经全部放入前提是j小于10
阅读全文
0 0
- 实现两有序数组的合并仍为新有序数组,且不对新数组排序的最简单方法
- 合并两个有序数组为一个新的有序数组
- 有序数组的合并
- 有序数组的合并
- java之简单的合并有序数组
- C语言用选择排序的方法合并有序数组
- 编程分别输入两个按从小到大排序的数组a和b,将这两个有序数组合并,使合并后的数组仍有序 (从小到大)
- 有序数组的合并 c++模板实现
- java实现两个有序数组的合并
- 合并两个有序的数组
- 合并两个有序的数组
- 二维数组的合并为有序的一维数组
- 找出两串有序数组中相同的元素, 并存入新数组中的目前最快方法
- 两组有序数组合并
- 两有序数组的交集
- C++模板数组实现有序数组的排列合并算法
- C++实现:合并两个有序的数组,合并后的数组依然有序
- C语言实现:合并两个有序的数组,合并后的数组依然有序
- request对象
- 两种高性能I/O设计模式(Reactor/Proactor)的比较
- HDU
- 一个由API level引发的惨案
- Dollar Dayz POJ
- 实现两有序数组的合并仍为新有序数组,且不对新数组排序的最简单方法
- PAT (Advanced) 1015. Reversible Primes (20)
- 2017-9-19日
- SAS中nodupkey和nodup的区别
- Android 基本架构
- Ubuntu提示/boot空间不足
- MIME类型
- Hibernate入门到开发(三)详解映射配置文件
- C#梳理【属性Property】