具体要求。
输入:两个已经排好顺序(升序)的两个字符串
输出:一个合并在一起的有序(升序)的字符串
要求:
设计一个效率尽量高的算法,对每个字符串只扫描一遍就可以了。
如果采用先进行串连接,然后再进行排序的算法,则效率太低了。
输入:
abcdef
bcefghi
输出:abbccdeeffghi
通过分析写出如下代码:

#include<stdio.h>
#include<Windows.h>
#pragma warning(disable:4996)
#define SIZE 100
void resort(char longer[], char shorter[],int l){char c[SIZE] = { 0 };char *p =shorter;int i = 0;while (*p&&i!=l){if (*p >= longer[i]){c[strlen(c)] = longer[i];i++;}else{c[strlen(c)] = *p;*p++;}}if (i != l){while (i != l){c[strlen(c)] = longer[i];i++;}}else{while (*p){c[strlen(c)] = *p;*p++;}}printf("%s ", c);
}
int main(){char arr1[SIZE];gets(arr1);char arr2[SIZE];gets(arr2);int n1 = strlen(arr1);int n2 = strlen(arr2);if (n1 > n2){resort(arr1, arr2,n1);}else{resort(arr2, arr1,n2);}system("pause");return 0;
}

这样就实现了这个题的要求了。

输入两个已经按从小到大顺序排列好的字符串,编写一个合并两个字符串的函数,使合并后的字符串,仍然是从小到大排列。相关推荐

  1. 编写一个带两个变量和一个运算符的四则运算函数

    单击页面上的按钮时,调用函数,使用prompt()方法获取两个变量的值和一个运算符 <!DOCTYPE html> <html><head><meta cha ...

  2. 编写一个有两个线程的程序, 第一个线程用来计算2~100000之间的素数的个数, 第二个线程用来计算100000~200000之间的素数的个数,最后输出结果

    编写一个有两个线程的程序, 第一个线程用来计算2-100000之间的素数的个数, 第二个线程用来计算100000-200000之间的素数的个数,最后输出结果 @author Chen HuiHong ...

  3. Java实现 字符串加密 输入字符串进行简单的位运算,输出加密或解密后的字符串

    Java实现 字符串加密 输入字符串进行简单的位运算,输出加密或解密后的字符串 具体代码如下: package package2;import java.util.Scanner;/*** 加密可以这 ...

  4. python编写一个程序、输入一个数判断其是偶数还是奇数_编写一个程序,判断用户输入的整数是偶数还是奇数。 (7.0分)_学小易找答案...

    [其它]已知info=[1,2,3,4,5],请通过两种编程方法,将列表变成info=[5,4,3,2,1] (6.0分) [其它]阅读下面的程序,分析代码是否可以编译通过,如果能编译通过,请列出运行 ...

  5. Java show两个整数加减_怎么样用java编写界面实现两个数的加法运算

    展开全部 import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; ...

  6. c语言单词的一个字母变换,c语言:输入一行英文字符串,把每个单词第一个字母变为大写,输出修改后的字符串知道...

    #include #include #include int main(int argc,char*argv[]) { char str[100+1]; int isfirst=1; char ch; ...

  7. java 输入五种水果_输入5种水果的英文名称,用java编写一个程序,输出这些水果名称按照字典出现的先后循序输出?...

    展开全部 一.思路: 1.建立一个String数组,用来存储用户输入的水果名字. 2.按字62616964757a686964616fe59b9ee7ad9431333363376431典出现的先后顺 ...

  8. 用python编写一个检测两段文本相似度程序

    # -*- coding:utf-8 -*- import difflib def similar(text1,text2): # 创建SequenceMatcher对象 s = difflib.Se ...

  9. 编写一个C程序,用getchar函数读入两个字符c1,c2,然后分别用putchar函数和printf函数输出这两个字符.

    错解: 错因: getchar的格式使用错误 正解:

  10. python输入学号姓名输出自我介绍_请编写一个程序,使用字典存储学生信息,学生信息包括学号和姓名,请根据学生学号从小到大输出学生信息。_学小易找答案...

    [单选题]维持人体直立姿势的重要肌 [选择题]2. 对尿失禁患者的护理中错误的一项是( ) [简答题]你印象最深的一处旅游景点是哪里?给你印象深刻的地方在于?有我们的民俗文化元素吗? [判断题]中间继 ...

最新文章

  1. 为什么要重写hashcode( )和equals( )?
  2. C++运算符重载-mfc演示
  3. Flex 3 与 Flex 4 beta 之间的区别
  4. 基于C#实现的轻量级多线程队列
  5. C语言,利用循环语句找出1000以内的水仙花数
  6. 查询检测PhysX 3.2中的场景查询(1)-基础
  7. 图像增强总结-Retinex算法
  8. 销售订单批量导入(1)
  9. GaussDB (for Cassandra) 数据库治理:大key与热key问题的检测与解决
  10. xp计算机找不到音量调节,WinXP找不到音量控制程序怎么办?
  11. 计算广告学 学习资料
  12. win7取消计算机密码怎么设置,Windows7取消开机密码怎么设置_Win7怎么取消开机密码?-192路由网...
  13. 染色问题java_java地图路径染色寻找算法
  14. 基于免费的SDCC开发51单片机
  15. IDEA模块名后面中括号中内容与模块名不一致的问题
  16. 网络三维虚拟展馆开发优势
  17. tpx色卡电子版_潘通色卡电子版下载
  18. git_error:src refspec dev does not match any
  19. matlab中plot矢量长度,关于plot函数矢量长度弹错的问题
  20. 【案例】使用CSS3实现天空变化效果

热门文章

  1. 简单理解椭圆曲线的非对称加密应用
  2. 硬件电路设计入门奉献系列(一)
  3. http 协议大文件下载
  4. vue 打包之后不兼容ie_vue项目打包后在IE浏览器报错,页面显示空白
  5. AT指令表(中文详解)
  6. pg数据库numeric对应oracle,Oracle类型number与PG类型numeric对比和转换策略
  7. 又一家硅谷巨头掀裁员潮!员工称像经历一场“屠杀”
  8. 多功能Web文件管理器Filestash
  9. android 获取视频长度,android中如何获取视频时长
  10. 【Security】操作系统安全