- 博客(10)
- 收藏
- 关注
原创 编写一个程序,利用kmp算法求子串在主串中不重叠出现的次数。
实验内容:编写一个程序,利用KMP算法求子串t在主串s中重叠出现的次数,例如:s=“aabbdaabbde”,t=“aabbd”,t在s中出现2次;再例如:s=“aaaaa”,t=“aa”,t在s中出现4次。第一行为字符串s,长度不超过10 6。编程要求 根据提示,在右侧编辑器补充完成代码,计算并输出字符串t在字符串s中重叠出现的次数。本关任务:编写一个程序,利用kmp算法求子串在主串中不重叠出现的次数。样例输入2 aabbdaabbde aabbd。输出格式 在一行中输出t在s中出现的次数。
2023-11-22 16:46:18
215
原创 有一个带头结点的单链表L(至少有一个数据结点),设计一个算法使其元素递增有序排列。
编程要求 根据提示,在右侧编辑器补充代码,完成函数void sort_list(LinkNode *&L),该函数功能是对带头结点的单链表L进行插入排序,使其递增有序。输出格式 输出包括两行。第一行为排序之前的单链表。每个数据后一个空格。第二行为递增排序之后的单链表。每个数据后一个空格。样例输出 L: 1 3 2 9 0 4 7 6 5 8 L: 0 1 2 3 4 5 6 7 8 9。输入格式 输入包括两行。第一行为一个整数n。第二行为空格隔开的n个整数。
2023-11-22 16:44:24
229
原创 将两个升序链表合并为一个新的 升序 链表。新链表是通过拼接给定的两个链表的所有节点组成的
编程要求 根据提示,在右侧编辑器补充代码,完成函数void mergeTwoLists(LinkNode* &L, LinkNode L1, LinkNode L2),该函数的功能是:合并两个有序链表。L1和L2为不带附加头结点的单链表的头指针。L为合并后的单链表的头指针。提示 两个链表的节点数目范围是 [1, 1000] L1 和 L2 均按 非递减顺序 排列。测试输入: 3 3 1 2 4 1 3 4 预期输出: 1 1 2 3 4 4。
2023-11-22 16:43:09
92
原创 给定一串字符,不超过100个字符,可能包括括号、数字、字母、标点符号、空格,编程检查这一串字符中的( ) ,[ ],{
相关知识 为了完成本关任务,你需要掌握:1.栈的基本特性,2.实现一个简单的顺序栈。栈的基本特性 栈的基本特性是先进后出。
2023-11-22 16:42:20
226
原创 本题要求实现一个函数,实现从尾到头打印一个单链表的功能。例如,如果给出单链表1 2 3 4 5,则应该输出5 4 3 2
* 单链表结点类型定义 */ typedef struct LNode { int data;相关知识 为了完成本关任务,你需要掌握:1.什么是递归,2.如何设计递归算法,3.如何使用递归处理单链表。单链表结点类型定义 数组的length属性用于记录数组中有多少个元素或存储单元,即记录数组的长度是多少。编程要求 根据提示,在右侧编辑器补充代码,完成从头到尾输出单链表的功能。测试输入: 5 1 2 3 4 5 预期输出:5 4 3 2 1。} LinkNode;
2023-11-22 16:41:20
59
原创 n个人围成一圈,按顺序从1到n进行编号,初始时从编号为1的人开始按1、2、3......顺序报数,报数到m(1≤m≤n)
编程要求 根据提示,在右侧编辑器补充代码,补充完成代码,完成循环队列有关操作和循环报数,其中n为圈中人的个数,m为报数的值。输出格式 输出包含一行,为退出到圈外的人的编号,编号之间以一个空格分隔。输入格式 输入只有一行,为n和m。样例输出1 3 6 9 2 7 1 8 5 10 4。样例输出1 4 1 6 5 7 3 2。样例输入1 10 3。
2023-11-22 16:39:05
582
原创 给定单向链表的头指针head和一个要删除的节点的值val,定义一个函数deleteNode删除该节点。返回删除后的链表的
编程要求 根据提示,在右侧编辑器补充代码,删除不带附加头节点的单链表head中值为val的结点。题目保证单链表中结点的值互不相同。输入包括两行,第一行为单链表中结点的值;第二行为需要删除的值val。测试输入3: 2 5 1 9 3 预期输出3: 2 5 1 9。测试输入1: 2 5 1 9 5 预期输出1: 2 1 9。测试输入2: 2 5 1 9 1 预期输出1: 2 5 9。0
2023-11-22 16:36:31
73
原创 请你实现一个循环队列,该循环队列可利用的空间大小等于n个int型变量的大小
操作: push x:将x加入到循环队列尾端。若循环队列已满,输出full,否则不输出任何内容。front:输出队首元素,队首不出队。若队列为空,输出empty。pop:输出队首元素,且队首出队。若队列为空,输出empty。输入描述: 第一行输入两个整数n,q(1≤n,q≤10 5 ),表示循环队列可利用的空间大小和操作次数。接下来的q行,每行一个字符串,表示一个操作。保证操作是题目描述中的一种。编程要求 请在右侧编辑器中完成代码,补充Begin...End之间的程序代码。输出描述: 按对应操作要求输出。
2023-11-22 16:34:58
63
原创 顺序表的插入和删除运算。
/删除第i个元素 bool ListDelete(SqList *&L, int i, ElemType &e);顺序表的基本运算如下: (1)初始化顺序表L (2)依次插入a,b,c,d,e元素 (3)输出顺序表L:a b c d e (4)在第4个元素位置上插入f元素 (5)输出顺序表L:a b c f d e (6)删除L的第3个元素 (7)输出顺序表L:a b f d e。请在sqlist.cpp文件中实现顺序表插入第i个元素和删除第i个元素的功能。本关任务:顺序表的插入和删除运算。
2023-11-22 16:31:49
59
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人