scau 数据结构
文章平均质量分 60
scau 数据结构习题
华农度假村村长
这个作者很懒,什么都没留下…
展开
-
18724 二叉树的遍历运算
先序遍历的顺序是 根左右 ;中序遍历的顺序是 左根右l1表示先序遍历的左边界,r1表示先序遍历的右边界l2表示中序遍历的左边界,r1表示中序遍历的右边界下面以题目的输入样例为例做分析输入样例abcdebcade当i到达最后落点时,中序遍历中的左右子树被i分割图一:有图一可以知道:从中序遍历可以知道左子树长度(i-l2)右子树为(r2-i)利用递归算法求左右子树(如图二)#include <iostream>#include <string>u原创 2022-08-30 16:42:42 · 149 阅读 · 0 评论 -
8645 归并排序(非递归算法)
8645 归并排序(非递归算法)如果你看到和我的贼相似的,那我就是抄的,别骂了代码实现#include <iostream>using namespace std;void merge(int *a,int start,int mid,int last){ int l=start;//两个小的数组,左边那个数组的第一个 int r=mid+1;//右边那个数组的第一个 int b[last-start+1],j=0; //算法上有点像顺序表!!原创 2022-08-30 16:42:09 · 278 阅读 · 0 评论 -
8583 顺序栈的基本操作
每次对基址进行操作(包括扩展,创建…),操作完都需要判断能否成功if(!S.base) return ERROR;创建和扩展S.top表示不一样为啥???????S.top=S.base;//创建S.top=S.base+S.stacksize;//扩展进栈push中*S.top=e;top是栈顶指针,*操作使其变成像常见的n一样的变量???表述很怪...原创 2021-06-12 14:30:59 · 259 阅读 · 0 评论 -
8581 线性链表逆置
题干8581 线性链表逆置时间限制:1000MS 代码长度限制:10KB提交次数:2811 通过次数:2032题型: 编程题 语言: G++;GCCDescription线性链表的基本操作如下:#include<stdio.h>#include<malloc.h>#define ERROR 0#define OK 1#define ElemType inttypedef int Status;typedef struct LNode{int dat转载 2021-06-12 13:17:42 · 267 阅读 · 0 评论 -
8580 合并链表
8580 合并链表题干8580 合并链表时间限制:1000MS 代码长度限制:10KB提交次数:3724 通过次数:2077题型: 编程题 语言: G++;GCCDescription线性链表的基本操作如下:#include<stdio.h>#include<malloc.h>#define ERROR 0#define OK 1#define ElemType inttypedef int Status;typedef struct LNode{原创 2021-06-12 12:45:10 · 211 阅读 · 0 评论 -
8576 顺序线性表的基本操作
8576 顺序线性表的基本操作题干时间限制:1000MS 代码长度限制:10KB提交次数:9027 通过次数:2456题型: 编程题 语言: G++;GCCDescription 编写算法,创建初始化容量为LIST_INIT_SIZE的顺序表T,并实现插入、删除、遍历操作。本题目给出部分代码,请补全内容。#include<stdio.h>#include<malloc.h>#define OK 1#define ERROR 0#define LIST_I原创 2021-06-12 12:22:00 · 288 阅读 · 0 评论 -
8609 哈夫曼树
8609 哈夫曼树这道破题改的我眼睛都瞎了代码实现#include "stdio.h"#include "malloc.h"#include "string.h"typedef struct{ unsigned int weight; unsigned int parent,lchild,rchild;}HTNode,*HuffmanTree;typedef char **HuffmanCode;void Select(HuffmanTree &HT, int n,原创 2021-06-08 22:20:03 · 99 阅读 · 0 评论 -
18937 阿克曼(Ackmann)函数
18937 阿克曼(Ackmann)函数题干18937 阿克曼(Ackmann)函数时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: G++;GCCDescription阿克曼(Ackmann)函数A(m,n)中,m,n定义域是非负整数(m≤3,n≤10),函数值定义为:输入格式输入m和n。输出格式函数值。输入样例2 3输出样例9代码实现没啥好说的,就是函数的递归调用。我真是不知道为啥要放在这一章里,和栈和队列有啥关系原创 2021-05-29 18:20:17 · 843 阅读 · 0 评论 -
8587 行编辑程序
8587 行编辑程序(一) 题干Description 利用栈编写简单的行编辑程序:接受用户从终端输入的程序或数据,在输入过程中,允许用户输入出差错,并在发现有误时可以及时更正。例如:当用户发现刚刚键入的一个字符是错的时,可以补进一个退格符“#”,以表示前一个字符无效;如果发现当前键入的行内差错较多或难以补救,则可以键入一个退行符“@”,以表示当前行中的字符均无效。例如:假设从终端接受了这样两行字符: whli##ilr#e (s#*s) outcha@putchar(*s=#++); 则实际有效的是下转载 2021-05-29 17:59:56 · 105 阅读 · 0 评论 -
8586 括号匹配检验
题干8586 括号匹配检验时间限制:1000MS 代码长度限制:10KB提交次数:4447 通过次数:1864题型: 编程题 语言: G++;GCCDescription 利用栈编写满足下列要求的括号匹配检验程序:假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,即()或[([][])]等为正确的格式,[(]或([())或(()])均为不正确的格式。输入一个包含上述括号的表达式,检验括号是否配对。本题给出部分check()函数,要求将check()函数补充完整,并完成整个程序。原创 2021-05-29 11:34:54 · 131 阅读 · 0 评论 -
8585 栈的应用——进制转换
8585 栈的应用——进制转换题干8585 栈的应用——进制转换时间限制:1000MS 代码长度限制:10KB提交次数:2572 通过次数:1925题型: 编程题 语言: G++Description利用顺序栈的基本操作算法,编写满足下列要求的数制转换程序:对于输入的任意一个非负十进制整数,打印输出与其等值的八进制数。输入格式第一行:输入一个非负的十进制整数输出格式第一行:与输入等值的八进制数输入样例15输出样例17代码实现#include<malloc.h原创 2021-05-28 12:38:29 · 490 阅读 · 0 评论 -
8579 链式线性表的基本操作
8579 链式线性表的基本操作题干8579 链式线性表的基本操作时间限制:1000MS 代码长度限制:10KB提交次数:5567 通过次数:2176题型: 编程题 语言: G++;GCCDescription 编写算法,创建一个含有n个元素的带头结点的单链表L并实现插入、删除、遍历操作。本题目提供部分代码,请补全内容。#include<stdio.h>#include<malloc.h>#define ERROR 0#define OK 1#define原创 2021-05-27 00:16:05 · 311 阅读 · 0 评论 -
8578 顺序表逆置
8578 顺序表逆置题干8578 顺序表逆置时间限制:1000MS 代码长度限制:10KB提交次数:3660 通过次数:2149题型: 编程题 语言: G++;GCCDescription顺序表的基本操作代码如下:#include<stdio.h>#include<malloc.h>#define OK 1#define ERROR 0#define LIST_INIT_SIZE 100#define LISTINCREMENT 10#define原创 2021-05-26 16:39:12 · 305 阅读 · 0 评论 -
8577 合并顺序表
8577 合并顺序表题干时间限制:1000MS 代码长度限制:10KB提交次数:5339 通过次数:2251题型: 编程题 语言: G++Description若线性表中数据元素相互之间可以比较,且数据元素在表中按值递增或递减,则称该表为有序表。编写算法,将两个非递减有序顺序表A和B合并成一个新的非递减有序顺序表C。输入格式第一行:顺序表A的元素个数第二行:顺序表A的各元素(非递减),用空格分开第三行:顺序表B的元素个数第四行:顺序表B的各元素(非递减),用空格分开输出格式原创 2021-05-24 16:16:13 · 476 阅读 · 0 评论