北理工乐学C语言 60.合并排序

这篇具有很好参考价值的文章主要介绍了北理工乐学C语言 60.合并排序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

60.合并排序

成绩 0 开启时间 2022年11月7日 星期一 08:00
折扣 0.8 折扣时间 2022年11月27日 星期日 23:35
允许迟交 关闭时间 2022年12月4日 星期日 23:35

要求,将两个已经排好顺序的字符串合并到一个字符串里

main函数和函数的定义已经写好了,你只能使用指针来完成了。

/* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int merge_sort(char *a,char *b,char *c); 
int main(int argc, char *argv[]) {
		
	char a[100];
        char b[100];
        char c[200];

	gets(a);
        gets(b);
       merge_sort(a,b,c);
	puts(c);
	return 0;
}

/* PRESET CODE END - NEVER TOUCH CODE ABOVE */
  测试输入 期待的输出 时间限制 内存限制 额外进程
测试用例 1 以文本方式显示
  1. 1a↵
  2. 2b↵
以文本方式显示
  1. 12ab↵
1秒 64M 0
测试用例 2 以文本方式显示
  1. eggloo↵
  2. aceehrt↵
以文本方式显示
  1. aceeegghloort↵
1秒 64M 0
int merge_sort(char* a, char* b, char* c)
{
    while (*a && *b)/*等价于while(*a != '\0' && *b != '\0')*/
    {
        if (*a <= *b)/*a,b中元素一一比较,谁小就把谁放到c里*/
        {
            *c = *a;
            a++;
        }
        else
        {
            *c = *b;
            b++;
        }
        c++;
    }
    while (*a)/*以上循环的结果是必有一组元素全部比完,
                只需把没必完的组的剩下元素输出即可*/
    {
        *c = *a;
        a++;
        c++;
    }
    while (*b)
    {
        *c = *b;
        b++;
        c++;
    }
    return 1;
}

注:此题与 45.合并字符串的思想一致,但明显使用指针显得非常简洁清晰。文章来源地址https://www.toymoban.com/news/detail-770169.html

到了这里,关于北理工乐学C语言 60.合并排序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 7-3 投票统计 武汉理工大学C语言

    7-3 投票统计 分数 15 作者 TracyLi 单位 成都信息工程大学 用程序模拟一个活动的投票统计功能。首先输入参选人员个数,再输入每位参选人员名字(不超过20字节),再输入选票张数,再依次输入选票中所选的参选人名(选票中必须选参选中的其中一位)。在输入选票过程中统

    2024年01月21日
    浏览(41)
  • 《点燃我,温暖你》理工男神李峋同款C语言版本爱心

    近期很火的《 点燃我,温暖你 》很火,里面的 爱心代码 也很惊艳,但是程序员看了觉得尬的扣脚, 网上也有他其他的语言爱心源码,但都不是C语言的,用语言描述一下,就是好多爱心,然后从内到外,从小到大的显示。今天就给大家分享: 爱心代码, 边看边用! 2.实现 C语

    2024年02月21日
    浏览(38)
  • 算法重温:排序 —— 合并排序

    目录 1. 基本思想 2. 排序原理 3. 排序过程 4.复杂度分析 5.代码实现 (C++、java) 6.运行结果 7.各排序算法效率 通过一趟排序将待排序列分割成两部分,其中一部分记录的均比另一部分记录的小。之后分别对这两部分记录继续进行排序,以达到整个序列有序的目的。

    2024年02月07日
    浏览(71)
  • 排序算法-合并排序法(MergeSort)

    合并排序法(MergeSort)是针对已排序好的两个或两个以上的数列(或数据文件),通过合并的方式将其组合成一个大的且已排好序的数列(或数据文件),步骤如下: 将个长度为1的键值成对地合并成个长度为2的键值组。 将个长度为2的键值组成对地合并成个长度为4的键值组

    2024年02月07日
    浏览(71)
  • 麻省理工学院与Meta AI共同开发StreamingLLM框架,实现语言模型无限处理长度

    🦉 AI新闻 🚀 麻省理工学院与Meta AI共同开发StreamingLLM框架,实现语言模型无限处理长度 摘要 :麻省理工学院与Meta AI的研究人员联合研发了一款名为StreamingLLM的框架,解决了大语言模型在RAM与泛化问题上的挑战,使其能够处理无限长度的文本内容。该框架采用了注意力下沉

    2024年02月07日
    浏览(37)
  • 设计合并排序算法实现对N个整数排序。

    1.题目   设计 合并排序 算法实现对N个整数排序 2.设计思路   先将无序序列利用 分治法 划分为子序列,直至每个子序列只有一个元素,然后再对有序子序列逐步进行合并排序。合并方法是循环的将两个有序子序列当前的首元素进行比较,较小的元素取出,置入合并序列

    2024年02月15日
    浏览(38)
  • 算法笔记【8】-合并排序算法

    合并排序算法通过采用分治策略和递归思想,实现了高效、稳定的排序功能。本文将深入探讨合并排序算法的原理、实现步骤,并讨论其优缺点。 合并排序算法采用了分治策略,将一个大问题分解为若干个小问题,并通过递归地解决这些小问题来达到整体解决的目的。具体而

    2024年02月08日
    浏览(35)
  • 面试算法78:合并排序链表

    输入k个排序的链表,请将它们合并成一个排序的链表。 用k个指针分别指向这k个链表的头节点,每次从这k个节点中选取值最小的节点。然后将指向值最小的节点的指针向后移动一步,再比较k个指针指向的节点并选取值最小的节点。重复这个过程,直到所有节点都被选取出来

    2024年02月03日
    浏览(38)
  • 【题解】合并两个排序的链表

    题目链接:合并两个排序的链表 解题思路1:迭代 创建一个新的单链表,对两个链表进行迭代,每次取较小元素放入新链表中,直至某一个链表为空,则结束循环,接着判断是否有某个链表没有遍历结束,再将未遍历结束的链表部分放入结果链表中。 一般创建单链表,都会设

    2024年02月15日
    浏览(46)
  • python解决合并排序列表问题

    这里主要是使用分治算法思想解决对于给定的n个有序的链表,进行合并操作之后还是一个有序的链表。如下例子: 添加图片注释,不超过 140 字(可选) 添加图片注释,不超过 140 字(可选) 如果想要合并n个有序的链表,首先需要直到合并两个有序链表的方法,如果定义一

    2024年01月25日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包